ARTS (第40周)
Algorithm 算法
跳台阶
题目
1 | 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 |
解法
///////////////////////////////////////////////////////
// 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
// https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&tqId=11161&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
/////////////////////////////////////////////////////////////
// 最初写的是这样的写法 dp[i]=( dp[i - 1] + 1) + (dp[i - 2] + 2))
// 想着要么从 dp[i - 1] 跳一步来 或者从 dp[i - 2]跳2步与跳2次1步 但最后发现是错的
// 因为从 dp[i - 2]跳1步的情况就已经包含在了 dp[i - 1]里了
// 然后发现dp[i]=( dp[i - 1] + 1) + (dp[i - 2] + 1))也是错的
// 我列了这样一个数列
// 1: 1
// 2: 11 2
// 3: 111 12 21
// 4: 1111 112 121 211 22
// 5: 11111 1121 1211 2111 221 1112 122 212
// 发现,因为从dp[i - 1]种可能性到dp[i]的时候,
// 都是在dp[i - 1]种可能性的基础上所有的可能性走了1步,并没有出现更多的可能性
// 而dp[i - 2]也是一样的,没有更多可能性,
// 走到dp[i]都是走了2步(走2个1步的情况包含在了dp[i - 1]里了)
// 这里如果我先写个回溯算法 再由回溯进行引申可能会好点
public int JumpFloor_dp(int target) {
if (target < 3)
return target;
int[] dp = new int[target + 1];
// dp[0]=0;
dp[1] = 1;
dp[2] = 2;
for (int i = 3; i <= target; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
}
return dp[target];
}
//回溯
public int JumpFloor(int target) {
return JumpFloorHelp(0, target);
}
public int JumpFloorHelp(int idx, int target) {
int left = target - idx;
//边界
if(left<=0){
return 0;
}
if (left < 3)
return left;
//可能走1步 也可能2步
int one = JumpFloorHelp(idx + 1, target);
int two = JumpFloorHelp(idx + 2, target);
return one + two;
}
斐波那契数列
题目
1 | 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 |
解法
1 | //////////////////////////////////////////////// |
Review 英文文章
https://vuejs.org/v2/guide/forms.html
vue 框架v-model的双向绑定
Tip 技巧
之前理解的异步指的2个程序同时执行,同步则是单个程序或者线程的顺序执行,但现在发现理解太过初级,可能不太准确,找了这么篇文章。
同步是指:当程序1调用程序2时,程序1停下不动,直到程序2完成回到程序1来,程序1才继续执行下去。
异步是指:当程序1调用程序2时,程序1径自继续自己的下一个动作,不受程序2的的影响。
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。
摘自 https://www.cnblogs.com/rainbow70626/p/8094199.html 作者昵称: rainbow70626
Share 分享
https://www.iteye.com/blog/tomyz0223-770677 硬件同步原语(CAS)理论
https://www.cnblogs.com/rainbow70626/p/8094199.html 同步和异步的概念
偶然看到的别人的读书笔记:
https://blog.csdn.net/mengxiangxingdong/article/details/94910675 程序员2019上半年 回顾
内有读书笔记:
读书笔记(思维导图)及其书籍
1.javascript标准教程(阮一峰)
书籍链接: http://javascript.ruanyifeng.com/
笔记:阮一峰老师特别牛,书籍都可以当api查询,所以就没写脑图
2.java编程的逻辑
书籍链接: https://www.cnblogs.com/swiftma/category/816241.html
笔记:[图片]https://gitee.com/hugo110/xmind-books/tree/master/后端/java
3.影响力
书籍链接: 微信读书可以搜到
笔记:https://blog.csdn.net/mengxiangxingdong/article/details/88727470
4.人性的弱点
书籍链接: 微信读书可以搜到
笔记:https://blog.csdn.net/mengxiangxingdong/article/details/77043423
5.深入理解java虚拟机(周志明)
书籍链接: 微信读书可以搜到
笔记:[图片]https://gitee.com/hugo110/xmind-books
6.图解http
书籍链接: 微信读书可以搜到
笔记:[图片]https://gitee.com/hugo110/xmind-books
7.大型网站技术架构
书籍链接: 微信读书可以搜到
笔记:[图片]https://gitee.com/hugo110/xmind-books
https://blog.csdn.net/mengxiangxingdong/article/category/8293176
8.jQuery源码解析(架构与依赖模块)
书籍链接: https://www.imooc.com/learn/172
笔记:未完成
9.mysql必知必会
书籍链接: 微信读书可以搜到
笔记:https://blog.csdn.net/mengxiangxingdong/article/details/88219151
————————————————
版权声明:本文为CSDN博主「xmind果果」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mengxiangxingdong/article/details/94910675