爬楼梯进阶

爬楼梯问题,求解爬楼梯的方案数,n级楼梯,每次可以爬1-k级台阶,我只想到可以将空间复杂度优化为O(k),但快手面试官告诉我可以优化到3个变量?求问佬们该怎么解决
全部评论
问ds的,不知道对不对,睡醒细看一下 #include <iostream> (30316)#include <vector> using namespace std; int climbStairs(int n, int k) { if (n == 0) return 1; if (k <= 0) return 0; vector<int> dp(n + 1, 0); dp[0] = 1; int sum = 1; // 初始窗口和为dp[0] for (int i = 1; i <= n; ++i) { dp[i] = sum; if (i >= k) sum -= dp[i - k]; sum += dp[i]; } return dp[n]; } // 优化为三个变量的版本(仅当k>3时适用) int climbStairsOptimized(int n, int k) { if (n == 0) return 1; if (k <= 0) return 0; if (k >= n) { // 当k>=n时,直接返回2^(n-1) return 1 << (n - 1); } // 初始化前k项 int prev1 = 1 << (k - 1); // dp[k] int prev2 = 1 << (k - 2); // dp[k-1] int sum = prev1 + prev2; for (int i = k + 1; i <= n; ++i) { int current = 2 * prev1 - prev2; // 递推公式 prev2 = prev1; prev1 = current; } return prev1; } int main() { int n = 5, k = 3; cout << "常规DP: " << climbStairs(n, k) << endl; // 输出13 cout << "优化后: " << climbStairsOptimized(n, k) << endl; // 输出13 return 0; }
点赞 回复 分享
发布于 03-18 02:13 湖南

相关推荐

1.Java,Python这些还会吗?2.Mysql,数据库,还有缓存类,也有在项目中去使用过吗?3.Linux的话是用什么发行版本?4.Python里面字典和数组的应用场景?5.一些基础排序算法还记得吗?6.一个数组有十个数进行排序,如0-9,用最快的方式排序(这个没答好,但是面试官一直在引导,首先创建一个长度为10的计数数组&nbsp;count&nbsp;,用于统计每个数字出现的次数。然后遍历原数组&nbsp;&nbsp;,对每个数字在&nbsp;count&nbsp;数组中对应的位置进行计数加1操作。最后,根据&nbsp;count&nbsp;数组中记录的每个数字的出现次数,将数字依次添加到结果数组&nbsp;sorted_arr&nbsp;中,得到排序后的数组。)7.mysql的话是有自己搭过吗?有部署过集群吗8.考一个Linux的一个命令,要找一个正在运行的mysql的进程,然后看一下他的CPU的使用率,可能一堆程序出来,怎么去检索出mysql的这个进程。9.项目中使用chatgpt的时候,去设置他的prompt,有没有什么技巧?10.像这种给他几个示例放到他里面,这种叫什么?(我说数据投喂,面试官说不够专业,他说的是一个英文词,没听太明白)11.语音转文本也是用的接口吗?12.ai这块熟吗?asr这块我们一般评价科大讯飞的还是huggingface哪个好,或者说腾讯的好,一般我们看什么指标?13.如果有些面试者,他说话会有些口音,那有什么方式可以优化?(我说用有口音的面试者喂给ai进行培训,面试官说成本比较高,应该是想用热词表或者专业词表之类的)14.有没有用过腾讯的或者说阿里的或者说aws的这些云厂商的一些服务,有没有买过他的服务器。15.说一下Iaas,Paas,Saas这三者的一个区别。16.计算机网络你有了解吗?a类,b类,c类网段17.网络隔离那些技术有了解吗?18.vpc底层用到什么技术做隔离?19.vpc怎么能保证比如说vpc1的数据vpc2访问不了或者截获不了。(这个也没答好,我说网段不同,不会互相影响,面试官说云上网段可以是相同的,可以通过VXLAN等技术,属实是知识盲区了)20.因为本科交运的,询问本科有没有学过物流相关知识,地图学过吗(地理编码技术之类的,没咋学过,本科培养方案偏铁路)21.路径规划学过吗?点到点的最优距离之类22.对解决方案这个岗位有了解吗?知道他是主要干什么?23.你应聘这个岗位有什么优势?24.之前工作单位强度怎么样?#牛客AI配图神器#
查看24道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务