master
parent
0c8bc8d1c6
commit
56f7c8673a
|
@ -1,44 +0,0 @@
|
||||||
package com.bawei;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author : lpg
|
|
||||||
* @ClassName : demo5
|
|
||||||
* @Description : 描述说明该类的功能
|
|
||||||
* @createTime : 2023/10/5 11:35
|
|
||||||
*/
|
|
||||||
public class demo5 {
|
|
||||||
public static void main(String[] args) {
|
|
||||||
//定义需要定义的数组数据
|
|
||||||
int[] arr={2,3,1,2,1,2,3,2,5};
|
|
||||||
//调用返回最小步数的方法
|
|
||||||
int i=returnMinNum(arr);
|
|
||||||
//输出最终实现的步数
|
|
||||||
System.out.println(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static int returnMinNum(int[] arr) {
|
|
||||||
//获取数组的长度
|
|
||||||
int length = arr.length;
|
|
||||||
//根据长度定义新集合
|
|
||||||
int[] ints = new int[length];
|
|
||||||
//在这段代码中,Arrays.fill(dp, Integer.MAX_VALUE)将数组ints中的每个元素都赋为Integer.MAX_VALUE,即整型变量能表示的最大值。
|
|
||||||
Arrays.fill(ints,Integer.MAX_VALUE);
|
|
||||||
//从零开始进行
|
|
||||||
ints[0]=0;
|
|
||||||
//for (int i = 1; i < length; i++) {:这是外层循环,用于遍历数组中的每个元素。
|
|
||||||
for (int i = 1; i < length; i++) {
|
|
||||||
//for (int j = 0; j < i; j++) {:这是内层循环,用于遍历当前元素之前的所有元素。
|
|
||||||
for (int j = 0; j < i; j++) {
|
|
||||||
//if(j+arr[j]>=i){:这是一个条件判断语句,用于检查是否满足特定条件。具体来说,它判断当前位置j加上对应的值arr[j]是否大于等于i。
|
|
||||||
if(j+arr[j]>=i){
|
|
||||||
//ints[i]=Math.min(ints[i],ints[j]+1);:这是一个赋值语句,用于更新ints数组中索引为i的元素的值。具体来说,它将ints[i]的值与ints[j]+1的值进行比较,并将较小的值赋给ints[i]。
|
|
||||||
ints[i]=Math.min(ints[i],ints[j]+1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//返回最小步数
|
|
||||||
return ints[length-1];
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue