力扣刷題(35. 搜索插入位置)

題目描述

題目直接截圖於力扣(LeetCode)。算法

該題網址:https://leetcode-cn.com/problems/search-insert-position/spa

用到的算法思想

  二分法、蠻力法code

思路

  蠻力法天然沒必要多說,遍歷就行。blog

  有序隊列是使用二分法的基礎。使用二分法須要注意每次標動移動的邊界,在左標兵右移時mid須要+1, 右標兵左移時mid須要-1。但貌似這道題中蠻力法和二分法執行速度差不了多少。隊列

代碼(C)

一、蠻力法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

相關文章
相關標籤/搜索