首页 > 代码库 > 应付面试的算法(取身高差最小,身高最高的两个人)

应付面试的算法(取身高差最小,身高最高的两个人)

输入5个身高,用空格分隔开,取身高差最小,身高最高的两个人;
public
class Shengaocha {//最小身高差 public static void main(String[] args) { String s="160 178 177 161 163"; //输入后为String类型// int[] a={160,178,177,161,163}; 用数组方便一点点 String[] ss=s.split(" "); //根据空格将字符串分割,分割出来的字符串保存在ss数组中 int min=100; //声明一个min存放最小值,但是要给他赋值一个比所有身高差都要大的值 int qian=0; //第一个人的身高 int hou=0; //第二个人的身高 for(int i=0;i<ss.length;i++){ for(int j=i+1;j<ss.length;j++){ if(min>=Math.abs(i-j)){ 取身高差的绝对值,如果比min小,则赋值给min min=Math.abs(Integer.parseInt(ss[i])-Integer.parseInt(ss[j])); if(Integer.parseInt(ss[i])<Integer.parseInt(ss[j])){ 找出身高小的那个 if(Integer.parseInt(ss[i])<qian){ 如果比上一个身高小的还小,break; break; }else{ qian=Integer.parseInt(ss[i]); 否则qian=当前身高 hou=Integer.parseInt(ss[j]); } }else{ if(Integer.parseInt(ss[j])<qian){ break; }else{ qian=Integer.parseInt(ss[j]); hou=Integer.parseInt(ss[i]); } } } } } System.out.println(qian+","+hou); }}

 

应付面试的算法(取身高差最小,身高最高的两个人)