码迷,mamicode.com
首页 > 其他好文 > 详细

二分查找

时间:2019-04-11 21:04:47      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:非递归   @param   实现   target   class   index   dex   recursion   递归   

class Solution { /** * 递归的二分查找 * @param nums * @param target * @param left * @param right * @return */ public int binarySearch(int[] nums, int target, int left, int right) { if(left > right) { return -1; } int midIndex = (int)(left + right) / 2 ; if(target > nums[midIndex]) { return binarySearch(nums, target, midIndex+1, right); } else if(target < nums[midIndex]) { return binarySearch(nums, target, left, midIndex-1); } else { return midIndex; } } /** * 非递归实现 * @param nums * @param target * @return */ public int binarySearchWithoutRecursion(int[] nums, int target) { int low = 0; int hight = nums.length -1; while(low <= hight) { int mid = (int) (low + hight) / 2; if(nums[mid] == target) { return mid; } else if(target < nums[mid]){ hight = mid -1; } else { low = mid + 1; } } return -1; } }

二分查找

标签:非递归   @param   实现   target   class   index   dex   recursion   递归   

原文地址:https://blog.51cto.com/janephp/2377440

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!