
获得徽章 15
- 如何让Windows用起来跟Mac一样顺滑?只需三步!
☝🏻 第一,使用github.com 改键,把 win 的 两个 ctrl 键改成跟 Mac 一样在空格两边,妈妈再也不用担心我按错啦。顺便可以把快捷键也改一通!
第二,使用 zsh 和 oh-my-zshzhuanlan.zhihu.com,不用再傻傻把 git 命令打全,自动补全值得拥有
第三,如果鼠标用罗技 Anywhere,还可以使用 罗技Options+,Mac和Windows都有对应软件!展开评论点赞 - LeetCode 62.不同路径 的 JavaScript 数学组合 解法
leetcode-cn.com
总共要走的步数是 m + n - 2 步 (m-1 步向右 和 n - 1 步向下)
每一步可以选择向下↓或向→, 选择了 m-1 向右,剩下的 n - 1都是向下的。
也就是说在 m + n - 2 步中,选出 m - 1 步,作为向右,先选和后选不影响结果
换种表达,一个袋子里装了编号为 1 到 m+n-2 的小球,从中挑选出 m-1个小球, 这就是一个组合的问题^_^
Cm+n-2 m-1
代码:
var uniquePaths = function(m, n) {
const all = m + n - 2; // 3
const picked = m - 1; // 2
let res = 1;
for (let i = 0; i < picked; i++) {
res = (all - i) * res;
}
for (let i = 1; i <= picked; i++) {
res = res / i;
}
return res;
};
```
讲不清楚的,可以直接评论哈,会一一回复~展开3点赞 最大连续子数组
leetcode-cn.com
分析角度:
1. 暴力法 T(n)=O(n^3)
2. DP T(n)=O(n) S(n)=O(n)
关键在递推方程
DP[i] 表示从 0~i 的最大连续子数组和,它跟 DP[i+1] 的关系为
DP[i+1] = Math.max(nums[i], DP[i] + nums[i])
解释:DP[i] 表示过去的经历,如果过去的经历总和,没有比现在的机会的更好,那就舍弃过去的,重新开始(选择 num[i])
3. Kadane(卡登)算法
S(n)=O(n) 可以优化为 O(1) 即 Kadane(卡登)算法展开评论点赞