https://leetcode.com/problems/search-insert-position/
题目
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.
Example 1:
Input: [1,3,5,6], 5
Output: 2
Example 2:
Input: [1,3,5,6], 2
Output: 1
Example 3:
Input: [1,3,5,6], 7
Output: 4
Example 4:
Input: [1,3,5,6], 0
Output: 0
题意:给出一个有序的数组(假设不重复),还有一个值,找出要把值插入数组的位置,使新数组还有序。
AC code:
class Solution {
public int searchInsert(int[] nums, int target) {
int left=0,right=nums.length;
if(nums[0]>target)
return 0;
if(nums[right-1]<target)
return right;
while(left<=right) {
int mid=(left+right)>>1;
if(nums[mid]==target) {
return mid;
}
else if(nums[mid]>target) {
right=mid-1;
}else {
left=mid+1;
}
}
return left;
}
}
LeetCode搜索插入位置题解
本文详细解析了LeetCode上的一道经典算法题“搜索插入位置”。题目要求在有序数组中找到目标值的插入位置,以保持数组的有序状态。文章提供了完整的AC代码实现,采用二分查找算法高效解决问题。
528

被折叠的 条评论
为什么被折叠?



