整体感觉比之前做过的笔试要好(虽然我这个菜鸡一道没A出来),就是直接怼算法,尽兴!
第一题:爬楼梯,可以爬一楼可以爬两楼,但是不能连续爬两层,求N层楼爬的方式次数
dp[i][0]代表到达i层并且之前爬的2层,dp[i][1]代表到达i层并且之前爬的一层
转移:dp[i][0] = dp[i - 2][1],dp[i][1] = dp[i - 1][0] + dp[i - 1][1],最后求dp[n][0] + dp[n][1]即可
看到题目,想到dp,定义了两位数组,后面一维用来保存前一层爬的状态,和股票冷冻期有点像
写完以后,只过了百分之五十,检查了好多遍,各种边界条件检查检查,就是卡在百分之五十。 上牛客网发现有不少老哥和我一样,经过大佬提示,没有定义成long(所以这就是后面题目基本都有思路,但是就是A不了的原因!)
第二题:单调栈
比较简单的单调栈,只能67%,检查了很多遍边界,最后倒在long(倒
第三题:复制后的数组最大子序列和
写完以后一直卡数组边界,不知道什么情况,后面调了下只能30%,也是倒在long上面 思路应该没问题,加上long的话 应该能多个百分之40 50 吧 (嘻
**第四题:没时间了,骗了20分 **
没贴代码了,不让跳出网站,直接裸写的; 这个long 真的坑大了,还是菜,继续加油! 复习数据库,明天总结项目部分!