Re: [LeetCode] 刷到面試 Grind169 C++
704. Binary Search easy題
為啥我寫二分法跑得比暴力解還慢啊
我有寫錯嗎
:(
暴力法:
class Solution {
public:
int search(vector<int>& nums, int target) {
for(int i=0; i<nums.size(); i++){
if(nums[i]==target) return i;
}
return -1;
}
};
二分法:
class Solution {
public:
int search(vector<int>& nums, int target) {
int left = 0;
int right = nums.size() - 1;
int mid = (left+right)/2;
while(left<=right){
if(target == nums[mid]) return mid;
if(target < nums[mid]) {
right = mid - 1;
mid = (left+right)/2;
continue;
}
if(target > nums[mid]) {
left = mid + 1;
mid = (left+right)/2;
continue;
}
}
return -1;
}
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.136.220 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1678873379.A.2A6.html
→
03/15 17:44,
2年前
, 1F
03/15 17:44, 1F
→
03/15 17:46,
2年前
, 2F
03/15 17:46, 2F
→
03/15 17:52,
2年前
, 3F
03/15 17:52, 3F
→
03/15 17:53,
2年前
, 4F
03/15 17:53, 4F
推
03/15 18:15,
2年前
, 5F
03/15 18:15, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 8 之 14 篇):