LeetCode之Search Insert Position
生活随笔
收集整理的這篇文章主要介紹了
LeetCode之Search Insert Position
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、問題
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Here are few examples.
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0
2、分析
我們這里用二分法,然后要注意的是,獲取中間的下標是開始下標加末尾小標除以2,而不是末尾下標減去開始下標除以2,這里以后要注意。
3、代碼實現
public static int searchInsert(int[] nums, int target) {int index = 0;if (nums == null || nums.length == 0) {return index;}if (target <= nums[0]) {return 0;}int length = nums.length;int start = 0;int end = length;while (start <= end) {int mid = (end + start) / 2;if (target < nums[mid]) {end = mid;} else if (target > nums[mid]){start = mid;} else {return mid;}if (start - end == -1) {return start + 1;}}return index;}總結
以上是生活随笔為你收集整理的LeetCode之Search Insert Position的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python之解析最简单的xml
- 下一篇: Android之在一个类里面注册Hand