摘要:
滑动窗口 思路: ①从头开始,找到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)