首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Talon
掘友等级
Android
|
.
.
获得徽章 3
动态
文章
专栏
沸点
收藏集
关注
作品
赞
28
文章 28
沸点 0
赞
28
返回
|
搜索文章
赞
文章( 28 )
沸点( 0 )
[LeetCode:Palindrome Partitioning] | 刷题打卡
重复上述过程... 这四道题都用到了回溯算法,大家可以放在一起作比较,理解回溯算法的写法和思路,最终总结出一套属于自己的方法论。
[LeetCode:permutations] | 刷题打卡
回溯函数的参数一般为:待选数组集合和已选择的值。这道题只需要待选数组和已选的值就可以了 递归出口:当待选数组长度为 1 时,即只剩下一个元素,把这个值加入到已选择的数组中,将结果 push 到结果数组中返回即可。 这道题是我写的第一个正经的回溯算法的题目,由于对回溯不熟悉,摸不…
[LeetCode:subsets] | 刷题打卡
回溯函数的参数一般为:待选数组集合和已选择的值。但是这题需要返回所有的子集,长度从 0 到 nums.length 不等,所以参数除了这两个以外,还需要一个 k 用来判断当前子集的长度,我们需要得到长度为 0,1,2...nums.length 的所有可能结果。 递归出口:k …
[LeetCode:Letter Combinations of a Phone Number] | 刷题打卡
我觉得这道题可以改一改:你是一位有志之士,组织派你破解敌方的信号,你在他们手机上安装了一个能窃听哪个键被按下的装置,你需要通过被按下的按键来确定敌方所有可能输入的信息,最后将敌方一举拿下。算了,不扯了... 回溯算法主要操作两个变量:一是待选数组,二是当前已选择的内容,每次递归…
[LeetCode:Check If a String Contains All Binary Codes of Size K] | 刷题打卡
题目很短也很好理解,看完后思路应该很快就有了:先求所有长度为 k 的二进制串,然后判断所有的二进制串是不是都是 s 的字串。 不用多想,一定是个回溯问题!长度为 k 的字符串的每一位都有 0 和 1 两种填充可能,一共有 $2^{k}$ 种结果。写出如下回溯代码: ,最后用数组…
[LeetCode:Coin Change] | 刷题打卡
这道题是 LeetCode March Challange Week2 第四天的题(果然后面的题是会比前面的难点),考察的是动态规划算法。做这道题的时候问了我学会计的女朋友的一些想法,她思索片刻后告诉我,可以先尽可能的兑换大面值,然后再兑换第二大的面值,然后第三大...直到最后…
[LeetCode:Add One Row to Tree] | 刷题打卡
对于每个深度为 depth-1 的非空节点 k,创建两个子节点 left 和 right,子节点的值都为 val, left 和 right 分别作为 k 的左右子树,k 原来的左孩子作为 left 的左孩子,原来的右孩子作为 right 的右孩子。如果 depth === 1…
[LeetCode:Remove Palindromic Subsequences] | 刷题打卡
有一个只包括字符 'a' 和 'b' 的字符串 s,你每次可以从 s 中删除一个回文子序列(subsequence),返回将字符串 s 清空(s==="")的最小次数。 子序列:如果字符串是通过删除给定字符串的某些字符而不更改其顺序而生成的,则它是给定字符串的子序列。注意,子序…
[LeetCode:Average of Levels in Binary Tree] | 刷题打卡
应该也不难,给 preOrder 函数加一个 depth 参数,初始化的时候就是 preOrder(root,1),表示根节点在第一层。递归访问左右子树时分别将 depth+1,下次递归时就能判断字数在哪一层 根据问题二,可以知道递归时节点所在的层级,更新数组中相应索引值的内容…
[LeetCode:Missing Number] | 刷题打卡
一种想法是先把数字排序,有序的数组找丢失的数会方便很多,但是排序的平均时间复杂度都是 O(nlogn),不能接受。 第二种想法是:申请一个长度等于 nums 的数组 arr,由于 nums 中的数字都是自然数,刚好和数组的下标对应,遍历到 nums[k] 的时候,在 arr[n…
下一页
关注了
63
关注者
2
收藏集
4
关注标签
16
加入于
2016-10-09