妙趣网 通辽网站建设,网站开发制作步骤图,Wordpress 自用主题 免费 分享,wordpress添加继续阅读文章目录 描述分析思路关键代码运行结果 描述
给定一个整数数组 cost #xff0c;其中 cost[i]是从楼梯第i 个台阶向上爬需要支付的费用#xff0c;下标从0开始。-旦你支付此费用#xff0c;即可选择向上爬一个或者两个台阶
要求#xff1a;请你计算并返回达到楼梯顶部的… 文章目录 描述分析思路关键代码运行结果 描述
给定一个整数数组 cost 其中 cost[i]是从楼梯第i 个台阶向上爬需要支付的费用下标从0开始。-旦你支付此费用即可选择向上爬一个或者两个台阶
要求请你计算并返回达到楼梯顶部的最低花费。
分析思路 由图可分析比较三组才可确定从下标0开始爬还是下标1开始。同理依次比较三组。 关键代码
1、if...else if...else进行判断三个连在一起楼梯中间要支付的费用与两旁相加支付费用的比较。i2然后进行下三组之间费用的判断。 while (i n - 1){if ((cost[i] cost[i 2]) (cost[i 1]))//判断从下标0/1走{many cost[i 1];i i 2;}else if ((cost[i] cost[i 2]) cost[i 1])//判断从下标0/1走{many cost[i] cost[i 2];;i 2;}else{many cost[i] cost[i 2];i 2;}} 运行代码
#define _CRT_SECURE_NO_WARNINGS 1
#include stdio.h
#define n 5
int main() {int cost[n];int i 0, many 0;for (i 0; i n; i){scanf(%d, cost[i]);}i 0;while (i n - 1){if ((cost[i] cost[i 2]) (cost[i 1]))//判断从下标0/1走{many cost[i 1];i i 2;}else if ((cost[i] cost[i 2]) cost[i 1])//判断从下标0/1走{many cost[i] cost[i 2];;i 2;}else{many cost[i] cost[i 2];i 2;}}printf(%d\n, many);return 0;
}