会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
nil_f
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
3
4
5
6
7
8
9
10
下一页
2020年5月22日
leetcode 每日一题 40. 组合总和 II
摘要: 回溯法 思路: 参考39.组合总和,在回溯时加判断条件和改变开始位置达到去重。 代码: class Solution: def combinationSum2(self, candidates: List[int], target: int) -> List[List[int]]: candidat
阅读全文
posted @ 2020-05-22 13:10 nil_f
阅读(101)
评论(0)
推荐(0)
2020年5月21日
leetcode 每日一题 39. 组合总和
摘要: 回溯法 思路: ①先对给定数组排序 ②从头遍历数组的每一个值,当这个值小于target时,压入数组pathList,target减去当前值,继续从数组当前值的位置开始遍历(这里涉及到对数组进行剪枝处理,为了去重),当target为0时,将数组pathList压入数组res,遍历结束后返回res 例如
阅读全文
posted @ 2020-05-21 15:06 nil_f
阅读(121)
评论(0)
推荐(0)
2020年5月20日
leetcode 每日一题 38. 外观数列
摘要: 双指针 思路: 一个指针负责遍历,另一个指针负责记录,遇到不同值时更新状态。 class Solution: def countAndSay(self, n: int) -> str: def getResult(para:str)->str: record = para[len(para)-1]
阅读全文
posted @ 2020-05-20 13:15 nil_f
阅读(145)
评论(0)
推荐(0)
2020年5月19日
leetcode 每日一题 37. 解数独
摘要: 回溯法 思路: ①首先建立三个数组,分别记录每行每列和每个3x3宫内出现过的数字,从第0行第0列开始进行② ②如果遇到的字符不是' . ',则进行填入下一个值操作。如果遇到字符是' . '则填数字,可以填入数字范围为1-9,每填入一个数字需要进行判断,如果这个数字在对应所在行、列、和3x3宫内出现过
阅读全文
posted @ 2020-05-19 16:20 nil_f
阅读(216)
评论(0)
推荐(0)
2020年5月18日
leetcode 每日一题 36. 有效的数独
摘要: 一次遍历 思路: 对二维数组每个元素进行遍历,遍历的同时记录下当前元素在行、列和3x3格中出现的次数,如果大于1返回False,遍历结束则返回True。 代码: class Solution: def isValidSudoku(self, board: List[List[str]]) -> bo
阅读全文
posted @ 2020-05-18 06:56 nil_f
阅读(163)
评论(0)
推荐(0)
2020年5月17日
leetcode 每日一题 35. 搜索插入位置
摘要: 二分法 代码: class Solution: def searchInsert(self, nums: List[int], target: int) -> int: if not nums: return 0 l,r = 0,len(nums)-1 while l <= r: mid = (l+
阅读全文
posted @ 2020-05-17 11:44 nil_f
阅读(106)
评论(0)
推荐(0)
2020年5月16日
leetcode 每日一题 34. 在排序数组中查找元素的第一个和最后一个位置
摘要: 二分法: 思路: 先用二分法找到左边界,再用二分法找到右边界。 class Solution: def searchRange(self, nums: List[int], target: int) -> List[int]: if not nums: return [-1,-1] def sear
阅读全文
posted @ 2020-05-16 12:48 nil_f
阅读(144)
评论(0)
推荐(0)
2020年5月15日
leetcode 每日一题 33. 搜索旋转排序数组
摘要: 二分法: 思路: 取要选择区间的中间位置,则在中间位置左边或者右边必然有一个有序数组,我们可以在通过判断target是否在有序数组来查找target位置并更新mid的值。 例如: nums = [4,5,6,7,0,1,2] target = 0 l = 0 , r = 6 , mid = 3 ,
阅读全文
posted @ 2020-05-15 12:59 nil_f
阅读(120)
评论(0)
推荐(0)
2020年5月14日
leetcode 每日一题 32. 最长有效括号
摘要: 动态规划 思路: 从头开始遍历字符串,当遇到左括号时,dp[i] = 0,当遇到右括号时开始分情况讨论: ①如果s[i-1]为左括号时,则dp[i] = dp[i-2] + 2 (这里要注意数组越界的问题,把i<2的情况单独拿出来) ②如果s[i-1]为右括号时,并且s[i-dp[i-1]-1]为左
阅读全文
posted @ 2020-05-14 12:53 nil_f
阅读(146)
评论(0)
推荐(0)
2020年5月13日
leetcode 每日一题 31. 下一个排列
摘要: 扫描法 思路: 题目的意思是给定一个数组,按数组给的顺序拼接其中每个数字得到一个数字num,我们要做的是调换下数组中一些元素的位置,使新的数组按顺序排列后的数字num2,刚好是下一个比num大的数字。 例如:给定数组 [2,4,3,1],拼接后的数字是2431,用这四个数字能得到刚好比2431大的下
阅读全文
posted @ 2020-05-13 12:50 nil_f
阅读(127)
评论(0)
推荐(0)
上一页
1
···
3
4
5
6
7
8
9
10
下一页
公告