重拾代码
好久没敲了,***同志讲过,三天不学习,面目可憎,此刻的我一定非常让人讨厌。花了19.9买了算法第四版kindle版本,加油,不破算法终不还!
package com.company; import java.util.Arrays; import java.util.Scanner; public class Main { public static int rank(int key,int[] a){//key是那个要被查找的元素 int lo=0; int hi=a.length-1; while(lo<=hi){ int mid=(lo+hi)/2; if (key<a[mid]) hi=mid-1; else if (key>a[mid]) lo=mid+1; else return mid; } return -1;//表示在数组中没有查到key元素 } public static void main(String[] args) { // write your code here Scanner sc=new Scanner(System.in); int key=Integer.parseInt(sc.nextLine()); int[] whitelist=new int[10]; for (int i=0;i<whitelist.length;i++){ whitelist[i]=sc.nextInt(); } Arrays.sort(whitelist); int x=rank(key,whitelist); System.out.println(key+"对应的下标是"+x); } }
勿在浮沙筑高台