二分查找算法(java实现)

二分查找算法如下(非递归):

public int binarySearch(int[] nums, int tartget){
     if(nums.length == 0){
         return -1;
     }
     int left = 0;
     int right = nums.length - 1;
     int idx = -1;
     while(true){
         if(left > right){
             break;
         }
         int center = (left + right) / 2;
         if(nums[center] == tartget) return center;
         if(nums[center] > tartget){
             right = center - 1;
             continue;
         }
         if(nums[center] < tartget){
             left = center + 1;
             continue;
         }
     }
     return idx;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。