首页 > 代码库 > LeetCode——Search Insert Position

LeetCode——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.

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

给定一个排好序的数组和一个目标值,如果在数组中找到这个值则返回其索引,未找到的话,返回其应该插入的位置的索引。

你可以假设数组中没有重复元素。

思路就是遍历,并用当前值与目标值比较。第一次循环看是否有与目标值相同的元素,第二次循环找插入位置。

	public static int searchInsert(int[] A, int target) {
		int index = -1;
		for(int i=0;i<A.length;i++){
			if(A[i] == target)
				return i;
		}
		for(int i=0;i<A.length;i++){
			if(A[0] > target)
				return 0;
			else if(A[A.length -1] < target)
				return A.length;
			else if(A[i] < target && A[i+1] > target)
				return i+1;
		}
		return index;
	}