今天在公司遇到一个问题,涉及到下面的算法,经过不断尝试终于写出来,分享给大家!
public static int aji(int[] arr,int i){ int i1=i;//下一个值 int i2;//最大值 for(int j=0;j<arr.length;j++){ if(arr[j]>i){//大于基本值 i2=arr[j];//赋max值 if(i1>i2 || i==i1){//第一次进来 i=i1<i2 所以把i2赋值给i1,以后i<i1 第二次进来 如果:i1>i2>i,则:所以把i2赋值给i1,否则不变 i1=i2; } } } return i1; } public static void main(String[] args){ int[] arr={44,45,450,5,43,43,78,1,434}; System.out.println(aji(arr,43)); }
结果:
44
请标明转载地址:点击打开链接