leetcode122 股票售买
public static int maxProfit(int[] prices){
int result =0;
int preDiff=0;
for(int i=1;i<prices.length;i++){
preDiff=prices[i]-prices[i-1];
if(preDiff>0){ //简单,从每一天出发,赚钱就买卖它
result=result+preDiff;
}
}
return result;
}leetcode 45 跳跃游戏2
心很累,
1 处理上一次覆盖范围,决定是否起跳
2 时刻更新下一步的跳跃范围
public static int jump(int[] nums){
int result=0;
int curDis=0;
int nextDis=0;
for(int i=0;i<nums.length;i++){
nextDis = Math.max(nums[i]+i,nextDis);//准备下一步覆盖最大范围
if(i==curDis) {
if(curDis==nums.length-1){
break;
}else { //curDis< nums.len-1
result++;
curDis=nextDis;//更新当前步覆盖范围
if(nextDis>=nums.length-1){
break;
}
}
}
}
return result;
}
文章介绍了如何解决LeetCode上的两道编程题目:122题股票售买,通过计算每天价格差来获取最大利润;45题跳跃游戏2,动态规划求解最大跳跃次数。每道题都涉及到遍历、比较和状态更新的关键步骤。
6352

被折叠的 条评论
为什么被折叠?



