![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
Sigyc
这个作者很懒,什么都没留下…
展开
-
LeetCode每日一题8月记录
LeetCode每日一题8月记录8.1 最小区间8.1 最小区间原题地址.变相的用滑动窗口法求解,统计每个数字出现在输入的哪几个数组里面,然后利用双指针滑动窗口寻找最小的左右边界,使得全部数组都有这些元素。class Solution: def smallestRange(self, nums: List[List[int]]) -> List[int]: n = len(nums) indices = collections.defaultdict(l原创 2020-08-01 09:26:19 · 438 阅读 · 0 评论 -
LeetCode每日一题7月记录
LeetCode每日一题7月记录7.1最长重复子数组7.1最长重复子数组原题地址.A[i:]和B[j:]的最长重复长度为A[i+1:]和B[j+1:]最长长度加1(如果A[i]==B[j]),所以可以用动态规划思想解决。class Solution: def findLength(self, A: List[int], B: List[int]) -> int: n = len(A) m = len(B) dp = [[0] * (m+1原创 2020-07-01 08:46:38 · 405 阅读 · 0 评论 -
LeetCode卡片探索-中级算法
卡片探索-中级算法数组和字符串三数之和矩阵置零字母异位词分组无重复字符的最长子串最长回文子串递增的三元子序列链表树和图回溯算法排序和搜索动态规划设计问题数学其他LeetCode上知识卡片之中级算法的刷题记录数组和字符串三数之和把数组排序后,遍历数组,每次固定当前元素,然后用双指针再后续数组里面搜索与它相加为0的元素组合。class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: n=l原创 2020-06-28 09:54:41 · 441 阅读 · 0 评论 -
LeetCode卡片探索-初级算法
卡片探索-初级算法数组删除排序数组中的重复项买卖股票的最佳时机 II字符串链表树排序和搜索动态规划设计问题数学其他LeetCode上知识卡片之初级算法的刷题记录数组删除排序数组中的重复项难点在于原地删除的同时不想时间复杂度太高的话,可以考虑双指针。一个指针遍历数组判断是否为重复元素,一个指针用来搜集不重复元素并把他们安排到数组前列。class Solution: def removeDuplicates(self, nums: List[int]) -> int: i原创 2020-06-14 10:04:30 · 1017 阅读 · 0 评论 -
LeetCode每日一题6月记录
LeetCode每日一题6月记录6.1 拥有最多糖果的孩子6.2 求1+2+3......+n之和6.3 新21点6.4 除自身以外数组的乘积6.5 螺旋打印矩阵6.1 拥有最多糖果的孩子原题链接.找出原糖果数里最大的,随后遍历数组,判断元素加上候选糖果之后是否大于原来的最大值。6.2 求1+2+3…+n之和原题链接.首先考虑递归或者迭代方法的话都要考虑一下终止条件问题。利用逻辑操作里面的短路操作n > 1 and self.sumNums(n - 1)如果n是1就不会调用下一个n原创 2020-06-05 15:58:05 · 297 阅读 · 0 评论