首页 > 代码库 > 笔试题:排序后取最小差值数
笔试题:排序后取最小差值数
笔试题:要从5个人中选取2个人作为礼仪,其中每个人的身高范围为160-190,要求2个人的身高差值最小(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。 Smple input:161 189 167 172 188 Sample outPut: 188 189
public class demo06{public static void main(String[] args){int[] arr={161,189,167,172,188};//原始值//将原始值升序排序getSort(arr);//升序排序后,取出最小差值,记录最小差值下标int[] arrDiff=new int[4];int min=arr[1]-arr[0];int index=-1;int output1=0,output2=0;for(int i=0;i<4;i++){if(getDifferent(arr[i+1],arr[i])<=min) index=i;}System.out.println("身高差值最小的两个同学按升序排序输出为:"+arr[index]+","+arr[index+1]);}//将数组升序排序public static int[] getSort(int[] arr){int length=arr.length;System.out.println(length);for(int j=0;j<length-1;j++){if(getDifferent(arr[j],arr[j+1])>0){int temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}return arr;}//两两相减,得到差值public static int getDifferent(int a,int b){return a-b;}}
笔试题:排序后取最小差值数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。