56. 合併區間
https://leetcode.cn/problems/merge-intervals/description/?envType=study-plan-v2&envId=top-100-liked
該怎麼排序區間
vector<vector
sort(intervals)即可
238. 除自身以外陣列的乘積
https://leetcode.cn/problems/product-of-array-except-self/description/?envType=study-plan-v2&envId=top-100-liked
41. 缺失的第一個正數
https://leetcode.cn/problems/first-missing-positive/?envType=study-plan-v2&envId=top-100-liked
240. 搜尋二維矩陣 II
選擇右上角的數字,比target大,往左,比target小,往下;
148. 排序連結串列
https://leetcode.cn/problems/sort-list/?envType=study-plan-v2&envId=top-100-liked
146. LRU 快取
https://leetcode.cn/problems/lru-cache/description/?envType=study-plan-v2&envId=top-100-liked
215. 陣列中的第K個最大元素
先寫一個比較器,小根堆
class myCompar {
// 小根堆
public:
bool operator()(int left, int right) {
return left > right;
}
};
堆大小控制在k,最終在堆中的k個數都是最大的k個數字。
- 遍歷陣列,堆size < k, 直接push。
- 否則看元素大小,比堆頂大的話,pop堆頂,push元素
for (int num : nums) {
if (pri_que.size() < k) {
pri_que.push(num);
} else {
if (num > pri_que.top()) {
pri_que.pop();
pri_que.push(num);
}
}
}