精華區beta Marginalman 關於我們 聯絡資訊
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
v03516020: 大師 03/15 17:44
dustsstar79: 大師 03/15 17:46
NCKUEECS: 再跑一次就不一樣了 03/15 17:52
ZooseWu: 我猜陣列數量太小 03/15 17:53
tzyysang: std::lower_bound 03/15 18:15