原创 leetcode739_每日溫度_單調棧

一. 這題求的是第一個升高的溫度並計算天數, 正常思路是當前溫度和後面所有溫度進行比較,時間複雜度O(n^2).  二. 因此我們考慮維護一個單調遞減棧.當前數字如果大於棧頂元素, 就不是單調棧, 且這也是第一個我們需要計算的天數,因此

原创 leetcode26_刪除排序數組中的重複項_快慢指針

1. 這種題目一眼就是快慢指針問題, 原地修改數組. class Solution { public: int removeDuplicates(vector<int>& nums) { //邊界情況.

原创 leetcode24_兩兩交換鏈表中的節點_遞歸

一. 遞歸 1. 真正的交換節點的意思就是1->2變爲2->1. 2. 時間O(n), 空間O(n), 遞歸過程使用堆棧空間. /** * Definition for singly-linked list. * struct L

原创 leetcode61_旋轉鏈表

一. 迭代 1. 先將鏈表閉合成環. 2.找到相應的位置斷開這個環. class Solution { public: ListNode* rotateRight(ListNode* head, int k) {

原创 leetcode424_替換後的最長重複字符

1. 依舊套用滑動窗口模板. 2. 窗口的大小與新單個字符的最大計數個數的差值即爲可以替換的字符個數.  3. 我們只需要關心新字符的到來會不會超過當前窗口的最大計數的個數. 4. 最難理解的部分是爲何不需要更新maxCount, 滑動平

原创 leetcode141_環形鏈表_雙指針

一. 用哈希存儲已經訪問過的鏈表節點,如果有重複,則有環, 否則檢測到鏈表末尾則無環. 二. 雙指針. 1. 使用不同速度快慢指針,空間複雜度O(1). /** * Definition for singly-linked list

原创 leetcode_1297_子串的最大出現次數

一. 滑動窗口問題. 二. 我們其實只是需要考慮minSize. 理由是minSize一定滿足maxSize的限制條件,並且可能出現的次數更多,所以是固定大小的滑動窗口問題. 三. 仔細思考下,其實她的複雜度是O(n), 因爲滑動窗口如果

原创 leetcode239_滑動窗口最大值

1. 運用滑動窗口模板解題, 具體可以看滑動窗口總結這篇. 2. 但是我們需要注意每次類似維護一個單調遞減棧,這樣front就是最大值,然後移除之後,下一個就是下一個窗口的最大值. 3. 遇到大於back值的,就循環將最大值移動到相應的位

原创 leetcode215_數組中的第K個最大元素

1. 方法1, 可以升序排序後找到 len-k 索引的數即爲第k個最大元素, 因爲排序O(nlog(n)). 2. 雖然思路簡單,但是能爲高級算法鋪路.  3. 方法2. 藉助快排中partition的思想, 因爲快排每次都能排好一個數

原创 leetcode1004_最大連續1的個數|||_滑動窗口

1. 解題思路和leetcode424: https://blog.csdn.net/qieyuan4083/article/details/104112465 一樣, 甚至更簡單些. class Solution { public:

原创 leetcode1052_愛生氣的書店老闆_滑動窗口

1. 這題其實最關鍵的是轉換思路. 不生氣時間段的人數和都是固定的, 所以題目的意思是讓求連續X時間段內生氣的人數和的最大值. 2. 可以運用滑動窗口.看窗口大小爲X的窗口內,不生氣的人數和的最大值是多少. class Solutio

原创 實現堆排序

一.  藉助堆這種數據結構實現的排序, 就叫做堆排序. 1.  原地排序 2.  複雜度穩定,爲O(nlogn) 3.  堆排序的過程可以分解爲兩個步驟, 建堆和排序. 4. 首先將數組原地建堆.  從後往前處理數組, 每個數據從上往下堆

原创 leetcode103_二叉樹的鋸齒形層次遍歷

一.  思考的不太對,參考大神了. 作者:powcai 鏈接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/solution/die-d

原创 leetcode112_路徑總和

一.  樹的問題首先想到的就是遞歸.先放上自己的思路. #include <iostream> using namespace std; struct TreeNode { int val; TreeNode *lef

原创 leetcode101_對稱二叉樹

一.  感覺很簡單, 但是自己就是寫不出來, 得再多學習學習了......... 二.  參考官方題解了. 作者:LeetCode 鏈接:https://leetcode-cn.com/problems/symmetric-tree/so