上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: 双指针 思路: 双指针覆盖多余重复项,一个指针i负责遍历,一个指针j负责要覆盖的重复项位置。 用count记录重复项的个数,则不用覆盖的情况是nums[i]==nums[j]并且count>2,那么需要覆盖的情况就是nums[i] != nums[j] 或者 count<=2,这里我们可以在nums 阅读全文
posted @ 2020-06-14 13:46 nil_f 阅读(156) 评论(0) 推荐(0)
摘要: 回溯法 思路: 创建一个二维数组mark用来记录用过的位置,先遍历数组找到和单词第一个字母相同的元素,在mark中标记此元素,从此元素开始进行回溯,看上下左右是否能找到单词第二个字符,如果能找到,mark中标记对应位置,继续进行回溯,直到找到单词所有字符为止,如果没有找到,则返回False。 代码: 阅读全文
posted @ 2020-06-14 13:08 nil_f 阅读(169) 评论(0) 推荐(0)
摘要: 回溯法 思路: 参考77.组合 代码: class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: def process(path=[],begin=0): if len(path) == k: res.append 阅读全文
posted @ 2020-06-13 15:23 nil_f 阅读(157) 评论(0) 推荐(0)
摘要: 回溯法 思路: 通过回溯的思维,递归调用枚举出所有可能。 代码: class Solution: def combine(self, n: int, k: int) -> List[List[int]]: def process(begin,path): if len(path) == k: res 阅读全文
posted @ 2020-06-13 13:41 nil_f 阅读(132) 评论(0) 推荐(0)
摘要: 滑动窗口 思路: ①从头开始,找到S中第一个包含t所有字符的子串,也即这个子串的最后一个字符必然是T中的某个字符。 ②对找到的子串从头开始进行剪枝处理,将不必要的元素排除在外,即直到遇到第一个包含在T中的字符为止,记录滑动窗口最小值和位置。 ③以滑动窗口第一个字符的下一位开始,继续①②操作 例如: 阅读全文
posted @ 2020-06-12 10:56 nil_f 阅读(183) 评论(0) 推荐(0)
摘要: 一次遍历 思路: 由于排序后数组左侧0开始,右侧2结尾,可以使用两个指针p0记录左侧中0的位置,和p2记录右侧中2的位置。对数组进行遍历,如果遇到0,则与p0指向的元素值互换,p0指向下一位置,继续遍历下一元素。如果遇到2,则与p2指向的元素值互换,p2指向前一位置,继续遍历当前元素。遇到1,继续遍 阅读全文
posted @ 2020-06-12 08:41 nil_f 阅读(124) 评论(0) 推荐(0)
摘要: 二分法 思路: 方法①:由于矩阵是有序的,先二分法找到所在行,再二分法找到所在列。 方法②:根据行列映射关系,直接二分法查找二维矩阵。 代码一: class Solution: def searchMatrix(self, matrix: List[List[int]], target: int) 阅读全文
posted @ 2020-06-12 08:15 nil_f 阅读(216) 评论(0) 推荐(0)
摘要: 记录行列 思路: 先遍历用额外的空间记录为0的行和列,再遍历将对应的行列置为0。 代码: class Solution: def setZeroes(self, matrix: List[List[int]]) -> None: """ Do not return anything, modify 阅读全文
posted @ 2020-06-11 13:42 nil_f 阅读(162) 评论(0) 推荐(0)
摘要: 动态规划 思路: 用dp[i][j]表示A的前 i 个字母和B的前 j 个字母之间的编辑距离。 则边缘部分dp[i][0] = i ,dp[0][j] = j ,因为要把A的前i个字母变成B的前0个字母也就是空串需要删除A的i个字母即可。同理要把A的空串变成B的前j个字母,需要在A中添加B的前j个字 阅读全文
posted @ 2020-06-11 11:57 nil_f 阅读(153) 评论(0) 推荐(0)
摘要: 栈 思路: 先按‘/’将path拆分为数组,构建一个栈,遍历数组,如果数组中的元素不为空且不等于‘ . ’,则将元素压入栈中,如果数组中元素等于‘ .. ’,则将栈顶元素推出。遍历完成后,从栈底开始,每个元素前加‘/’构建字符串,得到最后结果。 代码: class Solution: def sim 阅读全文
posted @ 2020-06-10 14:53 nil_f 阅读(160) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 10 下一页