必备算法
二分查找
离散版
my_binary_search(vector<int>, int)
my_binary_search(vector<int>, int)int my_binary_search(vector<int>& nums, int v) { if (nums.size() < 1) return - 1; int lo = -1, hi = nums.size(); // hi = nums.size() - 1 while (hi - lo > 1) { int mid = lo + (hi - lo) / 2; if (nums[mid] < v) lo = mid; else hi = mid; } return nums[lo + 1] == v ? lo + 1 : -1; }
my_lower_bound(vector<int>, int)
my_lower_bound(vector<int>, int)my_upper_bound(vector<int>, int)
my_upper_bound(vector<int>, int)排序
堆排序
建堆的时间复杂度
最后更新于
这有帮助吗?