iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 7
0
自我挑戰組

刷題記錄與人生分享系列 第 7

DAY7 Search Insert Position

  • 分享至 

  • xImage
  •  

題目:

https://leetcode.com/problems/search-insert-position/
已知一個排序好的陣列與目標值,如有找到目標值返回其索引值,如果沒有則返回按順序插入的索引。

解題思路:

利用二分法原理判斷符合為目標值,是的話直接返回其索引值,不是的話利用二分法逼近其索引位置,以此循環

C版本:

int searchInsert(int* nums, int numsSize, int target) {
 int left = 0, right = numsSize-1;
 while(left <= right)
 {
   int mid = left + (right - left)/2 ;
   if(nums[mid] == target)
   {
       return mid;
   }
   else if(nums[mid] > target)
   {
       right = mid -1;
   }
   else
   {
       left = mid +1;
   }
 }
 return left;
}

Javascript版本:

var searchInsert = function(nums, target) {
 var left = 0, right = nums.length-1;
 while(left <= right)
 {
   var mid = parseInt((left + right)/2) ;
   if(nums[mid] == target)
   {
       return mid;
   }
   else if(nums[mid] > target)
   {
       right = mid -1;
   }
   else
   {
       left = mid +1;
   }
 }
 return left;
};

程式Github分享:

https://github.com/SIAOYUCHEN/leetcode

相似主題分享:

https://ithelp.ithome.com.tw/users/20100009/ironman/2500
https://ithelp.ithome.com.tw/users/20113393/ironman/2169
https://ithelp.ithome.com.tw/users/20107480/ironman/2435
https://ithelp.ithome.com.tw/users/20107195/ironman/2382
https://ithelp.ithome.com.tw/users/20119871/ironman/2210
https://ithelp.ithome.com.tw/users/20106426/ironman/2136

本日分享:

The problem is not the problem, the problem is your attitude about your problem.
問題本身不是問題,面對問題時的態度才是問題


上一篇
DAY6 Remove Element
下一篇
DAY8 Pow(x, n)
系列文
刷題記錄與人生分享34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言