leetcode
leetcode刷题记录
vs974532452
这个作者很懒,什么都没留下…
展开
-
leetcode 343. 整数拆分(动态规划)
思路来源:https://leetcode-cn.com/problems/integer-break/solution/pythondp-tong-su-yi-dong-an-zhao-zi-ji-de-bu-fa-la/https://leetcode-cn.com/problems/integer-break/solution/bao-li-sou-suo-ji-yi-hua-sou-su...原创 2019-10-30 16:33:34 · 273 阅读 · 0 评论 -
leetcode 638(递归)
在LeetCode商店中, 有许多在售的物品。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。现给定每个物品的价格,每个大礼包包含物品的清单,以及待购物品清单。请输出确切完成待购清单的最低花费。每个大礼包的由一个数组中的一组数据描述,最后一个数字代表大礼包的价格,其他数字分别表示内含的其他种类物品的数量。任意大礼包可无限次购买。示例 1:输入: [2,5], [[3,0,...原创 2019-10-29 16:25:30 · 294 阅读 · 0 评论 -
leetcode 841. 钥匙和房间(深度优先递归版)
有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,…,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i],每个钥匙 rooms[i][j] 由 [0,1,…,N-1] 中的一个整数表示,其中 N = rooms.length。 钥匙 rooms[i][j] = v 可以打开编号为 v 的房间。最初,除 ...原创 2019-10-18 17:13:26 · 262 阅读 · 0 评论 -
leetcode 216. 组合总和 III(回溯法)
算法思路:https://leetcode-cn.com/problems/combination-sum-iii/solution/hua-jie-suan-fa-216-zu-he-zong-he-iii-by-guanpengc/python代码:class Solution(): def combinationSum3(self, k, n): """ ...原创 2019-10-16 17:02:11 · 144 阅读 · 0 评论 -
885. 螺旋矩阵 III
https://www.cnblogs.com/grandyang/p/10887598.htmlhttps://leetcode-cn.com/problems/spiral-matrix-iii/class Solution(object): def spiralMatrixIII(self, R, C, r0, c0): """ :type R: ...原创 2019-10-13 19:28:16 · 188 阅读 · 1 评论 -
leetcode 712. 两个字符串的最小ASCII删除和 (python动态规划)
给定两个字符串s1, s2,找到使两个字符串相等所需删除字符的ASCII值的最小和。示例 1:输入: s1 = "sea", s2 = "eat"输出: 231解释: 在 "sea" 中删除 "s" 并将 "s" 的值(115)加入总和。在 "eat" 中删除 "t" 并将 116 加入总和。结束时,两个字符串相等,115 + 116 = 231 就是符合条件的最小和。示例 2:...原创 2019-10-01 21:43:05 · 196 阅读 · 0 评论 -
leetcode 279. 完全平方数(python动态规划)
动态转移方程:动态转移方程为:dp[i] = MIN(dp[i], dp[i - j * j] + 1),i表示当前数字,jj表示平方数dp[i - j * j] + 1解释如下:假设m满足最少完全平方个数,m = f(n)n满足 ∑(A[i] * A[i]) = n假设k满足最小值m的时候的值,则令 d + k * k = n, d >= k可得 f(d) + f(k * k) ...原创 2019-10-02 21:55:03 · 613 阅读 · 0 评论 -
647. 回文子串 (动态规划)
给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。示例 1:输入: "abc"输出: 3解释: 三个回文子串: "a", "b", "c".示例 2:输入: "aaa"输出: 6说明: 6个回文子串: "a", "a", "a", "aa", "aa", "aaa".来源:力扣(Le...原创 2019-10-07 17:26:13 · 187 阅读 · 0 评论 -
leetcode 148. 排序链表
算法思想 :参考博客 :https://blog.csdn.net/qq_34364995/article/details/80994110#commentBoxhttps://blog.csdn.net/taotao12312/article/details/69664351归并排序每次递归需要用到一个辅助表,长度与待排序的表相等,虽然递归次数是O(log2n),但每次递归都会释放掉所占的辅...原创 2019-10-11 17:17:00 · 99 阅读 · 0 评论 -
leetcode 109. 有序链表转换二叉搜索树(python)
给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:```python给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 ...原创 2019-09-26 11:23:01 · 452 阅读 · 0 评论 -
leetcode 22. 括号生成(python)
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parenthese...原创 2019-09-23 15:53:59 · 168 阅读 · 0 评论 -
442. 数组中重复的数据
给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-all-...原创 2019-09-12 11:25:44 · 152 阅读 · 0 评论 -
leetcode竞赛146场第一题笔记(python)
等价的骨牌对排序后的结果必然相同,故先对内部的每个数组排序,然后用字典记录相同元素的个数,如d[a]=1,表示在所有骨牌里a个数为1.可发现规律,2个相同的有一对,3个相同的有(2+1)对,4个相同的有(3+2+!)对。最后只需将排序后个数大于一的按此规律累加即可。class Solution(object): def numEquivDominoPairs(self, dominoes...原创 2019-07-21 16:37:34 · 123 阅读 · 0 评论 -
leetcode 102.二叉树的层次遍历(python)
二叉树层次遍历:顾名思义,层次遍历就是将二叉树从上层到下层,每层有从左到右的遍历。如下图所示可以用队列实现,根节点先进队。然后出队,再依次遍历其左右子节点;依此类推。按上图遍厉过程为:A先入队,访问B、C并入队,B出队,访问D,E并入队,C出队,访问E并入队。给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,nu...原创 2019-07-17 09:46:00 · 182 阅读 · 0 评论 -
39. 组合总和(python)
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target = 7,所求解集为:[ [...原创 2019-06-30 16:27:36 · 952 阅读 · 0 评论 -
96. 不同的二叉搜索树(python)
给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / ...原创 2019-06-30 09:12:18 · 262 阅读 · 0 评论 -
leetcode 114. 二叉树展开为链表
给定一个二叉树,原地将它展开为链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \ 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro...原创 2019-06-29 20:51:00 · 126 阅读 · 0 评论 -
leetcode 215. 数组中的第K个最大元素 (python版)
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。来源:力扣(LeetCode)链接:h...原创 2019-06-14 20:18:19 · 554 阅读 · 0 评论 -
leetcode2019/3/31周赛
可被 5 整除的二进制前缀(https://leetcode-cn.com/contest/weekly-contest-130/problems/binary-prefix-divisible-by-5/)给定由若干 0 和 1 组成的数组 A。我们定义 N_i:从 A[0] 到 A[i] 的第 i 个子数组被解释为一个二进制数(从最高有效位到最低有效位)。返回布尔值列表 answer,...原创 2019-03-31 15:29:05 · 240 阅读 · 0 评论 -
leetcode 64. 最小路径和(python)
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems...原创 2019-09-19 16:26:30 · 664 阅读 · 1 评论 -
leetcode 78. 子集(python回溯法)
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble...原创 2019-09-21 15:14:42 · 1016 阅读 · 0 评论 -
1104. 二叉树寻路(python)
在一棵无限的二叉树上,每个节点都有两个子节点,树中的节点 逐行 依次按 “之” 字形进行标记。如下图所示,在奇数行(即,第一行、第三行、第五行……)中,按从左到右的顺序进行标记;而偶数行(即,第二行、第四行、第六行……)中,按从右到左的顺序进行标记。给你树上某一个节点的标号 label,请你返回从根节点到该标号为 label 节点的路径,该路径是由途经的节点标号所组成的。示例 1:输入...原创 2019-09-19 09:58:07 · 421 阅读 · 0 评论