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

Search insert position, 查找插入位置

时间:2016-06-11 15:44:15      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

问题描述:给定一个有序序列,如果找到target,返回下标,如果找不到,返回插入位置。

算法分析:依旧利用二分查找算法。

 1 public int searchInsert(int[] nums, int target)
 2     {
 3        return binarySearch(nums, 0, nums.length - 1, target); 
 4     }
 5     public int binarySearch(int[] nums, int left, int right, int target)
 6     {
 7         int mid = (left + right)/2;
 8         if(left > right)
 9         {
10             return left;
11         }
12         if(nums[mid] == target)
13         {
14             return mid;
15         }
16         else if(nums[mid] < target)
17         {
18             return binarySearch(nums, mid + 1, right, target);
19         }
20         else
21         {
22             return binarySearch(nums, left, mid - 1, target);
23         }
24     }

 

Search insert position, 查找插入位置

标签:

原文地址:http://www.cnblogs.com/masterlibin/p/5575384.html

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