问题求解之从一到无群大
道路坎坷,沙粒,或一阵风雨,我们有信心,有准备把它炼制成结晶。
banrieen
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
展开
-
docx 格式的word文档转为markdown
安装pandocexe 安装包,一般需要vpn下载安装Chocolatey安装以管理员打开powershell 执行Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object Syst..原创 2021-04-06 10:42:08 · 329 阅读 · 0 评论 -
算法练习:乘积小于K的子数组
713. 乘积小于K的子数组给定一个正整数数组 nums。找出该数组内乘积小于 k 的连续的子数组的个数。示例 1:输入: nums = [10,5,2,6], k = 100输出: 8解释: 8个乘积小于100的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。需要注意的是 [10,5,2] 并不是乘积小于10...原创 2019-09-26 20:40:45 · 265 阅读 · 0 评论 -
算法练习:优美的排列 II
667. 优美的排列 II中文版的翻译要仔细看,不小心会引导歧路上给定两个整数 n 和 k,你需要实现一个数组,这个数组包含从 1 到 n 的 n 个不同整数,同时满足以下条件:① 如果这个数组是 [a1, a2, a3, … , an] ,那么数组 [|a1 - a2|, |a2 - a3|, |a3 - a4|, … , |an-1 - an|] 中应该有且仅有 k 个不同整数;.此处...原创 2019-09-25 23:17:51 · 193 阅读 · 0 评论 -
算法练习:丑数
263. 丑数编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入: 6输出: true解释: 6 = 2 × 3示例 2:输入: 8输出: true解释: 8 = 2 × 2 × 2示例 3:输入: 14输出: false解释: 14 不是丑数,因为它包含了另外一个质因数 7。说明:1 是丑数。输入不会超...原创 2019-09-24 17:40:56 · 276 阅读 · 1 评论 -
算法练习:从英文中重建数字
423. 从英文中重建数字给定一个非空字符串,其中包含字母顺序打乱的英文单词表示的数字0-9。按升序输出原始的数字。注意:输入只包含小写英文字母。输入保证合法并可以转换为原始的数字,这意味着像 “abc” 或 “zerone” 的输入是不允许的。输入字符串的长度小于 50,000。示例 1:输入: “owoztneoer”输出: “012” (zeroonetwo)示例 2...原创 2019-09-23 23:23:30 · 481 阅读 · 0 评论 -
算法练习:字母移位【Python】
848. 字母移位有一个由小写字母组成的字符串 S,和一个整数数组 shifts。我们将字母表中的下一个字母称为原字母的 移位(由于字母表是环绕的, ‘z’ 将会变成 ‘a’)。例如·,shift(‘a’) = ‘b’, shift(‘t’) = ‘u’,, 以及 shift(‘z’) = ‘a’。对于每个 shifts[i] = x , 我们会将 S 中的前 i+1 个字母移位 x 次。...原创 2019-09-21 15:15:18 · 5540 阅读 · 0 评论 -
算法练习:有序矩阵中第K小的元【Python】
378. 有序矩阵中第K小的元素给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个元素。示例:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,返回 13。说明:你可以假设 k 的值永远是有效的, 1 ≤ k...原创 2019-09-21 15:13:33 · 299 阅读 · 0 评论 -
算法基础实例—Python3
算法基础实例—Python3指针操作递归算法时间,空间复杂度分析数据结构基础算法实例收集的常见题目python 单例模式的实现方法写一个快速排序写一个拓扑排序python 实现一个二进制计算有一组“+”和“-”符号,要求将“+”排到左边,“-”排到右边,写出具体的实现方法。单链表反转交叉链表求交点用队列实现栈找出数据流的中位数二叉搜索树中第 K 小的元素如...原创 2019-09-20 09:29:39 · 1068 阅读 · 0 评论 -
算法—概览
算法概览相关认识:算法是定义良好的解决问题的步骤,在计算机程序中表达的方法。使用算法的3个原因:效率、抽象、重用性一般设计方法:+ 近似法:+ 随机法:+ 分治法:+ 贪心法:+ 动态规划:指针操作递归算法时间,空间复杂度分析数据结构基础算法实例...原创 2019-09-20 01:25:03 · 317 阅读 · 0 评论 -
算法练习:直线上最多的点数
149. 直线上最多的点数给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o +------------->0 1 2 3 4示例 2:输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[...原创 2019-09-19 12:10:34 · 509 阅读 · 0 评论 -
算法练习:累加数
累加数累加数是一个字符串,组成它的数字可以形成累加序列。一个有效的累加序列必须至少包含 3 个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。给定一个只包含数字 ‘0’-‘9’ 的字符串,编写一个算法来判断给定输入是否是累加数。说明: 累加序列里的数不会以 0 开头,所以不会出现 1, 2, 03 或者 1, 02, 3 的情况。示例 1:输入: “11...原创 2019-09-17 10:08:51 · 525 阅读 · 0 评论 -
算法练习:找到所有数组中消失的数字
448. 找到所有数组中消失的数字给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:...原创 2019-09-17 00:02:17 · 286 阅读 · 0 评论 -
算法练习:两数之和
1. 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:...原创 2019-09-16 08:41:25 · 167 阅读 · 0 评论 -
算法练习每日一题:翻转矩阵后的得分
861. 翻转矩阵后的得分有一个二维矩阵 A 其中每个元素的值为 0 或 1 。移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。返回尽可能高的分数。示例:输入:[[0,0,1,1],[1,0,1,0],[1,1,0,0]]输出:39解释...原创 2019-09-14 22:28:11 · 413 阅读 · 0 评论 -
算法练习:132模式
456. 132模式给定一个整数序列:a1, a2, …, an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j < k 时,ai < ak < aj。设计一个算法,当给定有 n 个数字的序列时,验证这个序列中是否含有132模式的子序列。注意:n 的值小于15000。示例1:输入: [1, 2, 3, 4]输出: False解释: 序...原创 2019-09-14 11:45:45 · 316 阅读 · 0 评论 -
算法练习:就地(原址)合并两个有序数组【Python】
合并两个有序数组给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3n...原创 2019-09-12 12:05:35 · 322 阅读 · 0 评论 -
算法练习:最大二叉树【Python】
654. 最大二叉树给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树的根节点。示例 :输入:[3,2,1,6,0,5]输出:返回下面这棵树的根节点: 6 / ...原创 2019-09-12 12:03:03 · 927 阅读 · 0 评论 -
算法练习:数组拆分 I
561. 数组拆分 I给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示:n 是正整数,范围在 [1, 10...原创 2019-09-12 12:00:59 · 357 阅读 · 0 评论 -
算法—专题—找零钱问题【Python3】
这里找了3中方法实现,计算出找零钱方案,也可以计算出最少张数;多少种组合方法没有考虑;希望有兴趣的看看疏漏之处,另外之前了解到有人能够做出O(1)时间复杂度,在此也想抛砖引玉,希望找出该类问题经典解法。#!/usr/bin/env python3""" 找零钱问题# 对于现实生活中的找零问题,假设有数目不限,面值为2,5,10的硬币, 求出找零方案。# # 对于此类问题,贪心算法可以找到...原创 2019-08-23 11:51:53 · 4084 阅读 · 1 评论 -
Python全栈-基础问题锦集
For else在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。原文:for loops also have an else clause which most of us are unfamiliar with....原创 2019-09-01 01:03:23 · 611 阅读 · 0 评论