題目直接截圖於力扣(LeetCode)。算法
該題網址:https://leetcode-cn.com/problems/search-insert-position/spa
二分法、蠻力法code
蠻力法天然沒必要多說,遍歷就行。blog
有序隊列是使用二分法的基礎。使用二分法須要注意每次標動移動的邊界,在左標兵右移時mid須要+1, 右標兵左移時mid須要-1。但貌似這道題中蠻力法和二分法執行速度差不了多少。隊列
一、蠻力法leetcode
1 int searchInsert(int* nums, int numsSize, int target){ 2 int i; 3 for(i = 0; i < numsSize; i++) 4 { 5 if(nums[i] >= target) // ==是返回的底限,若是大於則表示以後沒有等於,因此直接返回。 6 { 7 return i; 8 } 9 } 10 return i; 11 }
二、二分法get
int searchInsert(int* nums, int numsSize, int target){ int left=0, right=numsSize-1; int mid; while(left <= right) { mid = (left + right) / 2; if(nums[mid] == target) { return mid; } else if(nums[mid] < target) { left = mid+1; } else { right = mid-1; } } return left; }
2021-01-16 12:50:50it