package Main;
import java.util.*;
public class Main {
static int []a= {5,6,2,1,4,9,2,13,656,223};
public static void main(String []args) {
Scanner input=new Scanner(System.in);
System.out.println(bi(a,0,a.length-1)[0]+" "+bi(a,0,a.length-1)[1]);
}
public static int[] bi(int []a,int i,int j) {
int []b=new int[2];
if(i==j)
b[0]=b[1]=a[i];
else if(j-i==1)
{
b[0]=a[i]<a[j]?a[i]:a[j];
b[1]=a[i]>=a[j]?a[i]:a[j];
}
else {
b[0]=bi(a,i,(i+j)/2)[0]<bi(a,(i+j)/2+1,j)[0]?bi(a,i,(i+j)/2)[0]:bi(a,(i+j)/2+1,j)[0];
b[1]=bi(a,i,(i+j)/2)[1]>=bi(a,(i+j)/2+1,j)[1]?bi(a,i,(i+j)/2)[1]:bi(a,(i+j)/2+1,j)[1];
}
return b;
}
}
在这里插入代码片
分治法求最大最小值
最新推荐文章于 2021-07-22 09:55:12 发布