黑马程序员技术交流社区

标题: 帮我优化一下。如果这是考试面试题。 [打印本页]

作者: 曹亚辉    时间: 2016-9-9 20:49
标题: 帮我优化一下。如果这是考试面试题。
package com.hui_binary;

import java.util.Scanner;

public class Demo1 {
        public static void main(String[] args) {
                int [] arr = {3, 4, 9, 15, 23, 25, 36, 45, 45, 59, 59, 78, 78, 99};
                int key = new Scanner(System.in).nextInt();
                int star = 0;
                int end = arr.length-1;
                int mid ;
                if(key==arr[star]){
                        mid = star;
                }else if (key==arr[end]){
                        mid = end;
                }else{
                        mid = (star + end)/2;
                        System.out.println(mid);
                        while(!(arr[mid]==key)){
                                if(arr[mid]>key){
                                        end = mid;
                                        mid = (star + end)/2;
                                }else if(arr[mid]<key){
                                        star = mid;
                                        mid =  (star + end)/2;
                                }
                        }
                }
                System.out.println("查找的数字的位置是:"+mid);
        }
}
作者: NewBeeCoder    时间: 2016-9-9 22:05
二分查找?  
直接用工具类查吧 简单点




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2