CF 265B.Roadside Trees (Simplified Edition)(Java实现)
题目分析
松鼠的起点在第一棵树的0位置,它的行动轨迹为到达顶端,吃坚果,到另一棵树的同位置,到达顶端,吃坚果。
思路分析
根据题目分析,我们需要有一个不断更新的起始位置,单次循环内的时间=到达顶端的距离+吃坚果+跳跃=顶端-起始+1+1
代码
import java.io.IOException;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();//获得数量
sc.nextLine();//吞回车
int re=0;//初始化答案
int[] arr=new int[n];//存每棵树的高度
int sta=0;//初始化起始位置
for (int i = 0; i < n; i++) {//遍历
arr[i]=sc.nextInt();//赋值
sc.nextLine();//吞回车
re+=Math.abs(arr[i]-sta)+1;//计算本次行动的时间,此处没有加上跳跃时间
sta=arr[i];//更新其实位置
}
System.out.println(re+n-1);//加上跳跃时间
}
}
感谢您能够看到这里,一起见证小何同学的算法学习,如果您有不同的见解,希望能得到您的指点和点悟;如果您是和我一样的同学,也希望这篇文章能对您有所帮助。
原文地址:https://blog.csdn.net/Dr_Si/article/details/145146170
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!