leetcode刷题之路
文章平均质量分 56
我是菜鸡,得刷题
一路风尘天下2
哈哈哈
展开
-
滑动窗口模板
本质上来说,滑窗是双指针,一根指针指向左端点,一根指针指向右端点。 右指针移动可以表示扩张窗口,左指针移动表示缩小窗口。 如果当前元素满足题目要求时,可以挪动右指针尝试更优解,并且更新需要记录的变量(元素,元素个数++等) 如果当前窗口内的元素不满足条件,可以挪动左指针尝试调整,并且更新需要记录的变量(元素,元素个数--等) 通过以上步骤窗口就开始“滑动”起来,在滑动过程中,要记得及时更新答案。一般为求最大或最小。...原创 2022-04-26 00:18:30 · 328 阅读 · 0 评论 -
二分法查找
基础二分查找class Solution: def search(self, nums: List[int], target: int) -> int: low = 0 high = len(nums) -1 while low <= high: mid = low + (high - low ) //2 if nums[mid] == target: .原创 2022-04-21 23:52:56 · 306 阅读 · 0 评论 -
回溯算法逐步深入2
给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。12、数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"] res=[] def backtrace(temp,left,right): if len(temp) == 2 ...原创 2021-08-06 20:36:24 · 212 阅读 · 0 评论 -
回溯算法逐步深入1
1、无重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合,字符串每个字符均不相同。输入:S = "qwe"输出:["qwe", "qew", "wqe", "weq", "ewq", "eqw"] def backtrace(s): if s == "": res.append("".join(path)) return for i in range(len原创 2021-08-01 19:24:10 · 147 阅读 · 0 评论