1. 程式人生 > >搜尋插入位置(leetcode簡單篇第三十五題)

搜尋插入位置(leetcode簡單篇第三十五題)

給定一個排序陣列和一個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。

你可以假設陣列中無重複元素。

示例 1:

輸入: [1,3,5,6], 5
輸出: 2

示例 2:

輸入: [1,3,5,6], 2
輸出: 1

示例 3:

輸入: [1,3,5,6], 7
輸出: 4

示例 4:

輸入: [1,3,5,6], 0
輸出: 0

筆者拿到這道題的時候開始並沒有寫出很簡潔的程式碼,判斷了一下如果這個數比數組裡所有的數字都小的情況,還判斷了比數組裡數字都大的極端值,但是最後發現這樣的思路好像有點多慮,於是修改後有了下下面的程式碼

int searchInsert(int* nums, int numsSize, int target)//大家可以這麼理解,nums【0】如果大於目標就返回0位置說明目標最小
//,如果判斷的過程中目標比所有的陣列都大,那就返回numsSize,這樣他就成了陣列的最大位置
{
	int i = 0;
	for(i = 0; i < numsSize; i++)
	{
		if(nums[i] >= target)
		{
			return i;
		}
	}
	return numsSize;
}```