题解 | 小红的地砖
小红的地砖
https://www.nowcoder.com/practice/8cd083c66a5f43489a532164e2a2304d
import java.util.Scanner;
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n=in.nextInt();
int[]arr=new int[n];
for(int i=0;i<n;i++){
int a=in.nextInt();
arr[i]=a;
}
int result=method(n,arr);
System.out.print(result);
}
public static int method( int n,int arr[]){
int a=0;//表示i-2的初始位置
int b=arr[1];//表示i-1的初始位置
for(int i=2;i<n;i++){
int result= Math.min(a,b)+arr[i];//把所有格子分成多次目的地,目的地的体力值是必然要加的所以取一步或者两步的最小值,就是这个小目的地的最佳路线
a=b;//更新i-2的位置
b=result;//更新i-1的位置
}
return b;//所有最佳小路线相加就是最佳大路线
}
}
查看9道真题和解析