重拾代码

好久没敲了,***同志讲过,三天不学习,面目可憎,此刻的我一定非常让人讨厌。花了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);
    }



}

 

posted @ 2019-04-08 22:30  博客园机器人  阅读(133)  评论(0编辑  收藏  举报