
Leecode
Baoxin_UCAS
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
机考---硬币分组,组和差值最小
有一组硬币,数量不超过100枚。每个硬币的面值范围是1~500.对这组硬币进行分组,使得每组硬币,其面值总和的差距最小。def min_diff(n, nums): nums = sorted(nums) res1 = [] res1_sum = 0 sum_val = sum(nums) half_val = sum_val // 2 if nums[-1]>500 or nums[0]<1: return -1.原创 2021-04-22 20:47:33 · 683 阅读 · 0 评论 -
leecode5. 最长回文子串--极简思维之中心扩散
理解两个概念:1. 回文:正着和反着读一样,那么肯定有个中心了2. 中心扩散:从中心向两边走,每一步的字符都一样那么第一步:核心就是中心在哪了,第二步,走两步试试。看下面例子:s = 'aa'center_point = 0.5#字符串长度为偶数,中心点在'a'和'a'之间,索引为0.5的地方,#那么从索引为0和1的地方向外扩散就可以了s = 'aba'center_ppoint = 1#字符串长度为奇数,中心点在'b',索引为1的地方,#那么从索引为0和2的地方向外扩原创 2021-02-27 13:15:51 · 193 阅读 · 1 评论 -
LeetCode 22. Generate Parentheses 生成括号 Python
括号生成原则:左括号开头,右括号结尾 左右括号数目一致 从左向右走,左括号的数目必须大于等于右括号数目(有效括号)因此,看一下利用二叉树生成括号过程:我们要随时注意剪枝操作:n=2:n=3:可以看到在遍历的时候,剪枝可以分为两种情况:1. 红色X:左括号超过预设数目 2. 绿色X:右括号多于左括号因此我们可以得到:1. 只要左括号数目不多于预设值,那么即可...原创 2018-12-03 16:21:22 · 306 阅读 · 1 评论