原创 LeetCode Combination Sum III

LeetCode Combination Sum III 題目 思路 DFS 代碼 class Solution { public: vector<vector<int>> Ans; vector<int> An

原创 LeetCode Summary Ranges

Summary Ranges 題目 思路 直接做 代碼 class Solution { public: vector<string> summaryRanges(vector<int>& nums) {

原创 LeetCode Shortest Palindrome

LeetCode Shortest Palindrome 題目 思路 其實原本想了一種算法,自己算了下大概複雜度爲O(n^2); 想着定是不過了,於是看了Discuss裏面的題解; 附上鍊接:KMP思路題解; 而後把原來的

原创 LeetCode Rectangle Area

LeetCode Rectangle Area 題目 思路 剛開始自己寫別提WA多少遍了; 後來看到標達真的被驚訝到了; 代碼可以這麼美; 代碼 自己的 #define min(A, B) (A > B ? B : A)

原创 LeetCode Maximal Square

LeetCode Maximal Square 題目 思路 思路還是很容易理解的,用DP; 令dp[i][j]表示以matrix[i][j]爲正方形右下角的點時所能形成的最大面積; 公式顯而易見,在代碼中; 這題用宏定義定

原创 Sicily 14517. Eco-driving

Sicily 14517. Eco-driving 題目 思路 直接看了題解- -; 在0到π之間二分,如果中間值可行,縮小右邊界(讓最大角儘可能小); 如果不可行,增大左邊界(最大角已經不能再小); 重複40次的答案基本

原创 Sicily 14515. Cookie Selection

Sicily 14515. Cookie Selection 題目 思路 用兩個堆來放全部數就好了; 每個堆放一半; 題目說得這麼長几個意思- -。 代碼 #include <queue> #include <vector>

原创 Sicily 14551. Jury Jeopardy

Sicily 14551. Jury Jeopardy 題目 思路 給定DFS路徑,還原地圖。 代碼 #include <stdio.h> #include <string.h> const short DIR[4][2] =

原创 二分查找 Binary Search

二分查找 Binary Search 寫在最前 其實關於二分查找,網上已經有很多很多了; 這裏僅僅是把一些有特殊要求的二分查找總結一下; 簡單的測試好像並沒有什麼錯; 如果有,希望能提出; 代碼 #include <iost

原创 LeetCode Count Complete Tree Nodes

LeetCode Count Complete Tree Nodes 題目 思路 這個樹會灰常的大; 先沿着左右兩遍計算深度,如果深度一樣直接代公式算; 如果深度不一樣,那就找最下面一層的斷點; 代碼 int maxD, n

原创 LeetCode Basic Calculator

LeetCode Basic Calculator 題目 思路 其實就是前中後綴表達式的轉換和計算; 以前寫過一個類:前中後綴表達式計算類 但是由於類有點大,只能拆開交(爲了檢測正確性); 代碼 轉爲前綴計算 class E

原创 LeetCode Kth Largest Element in an Array

LeetCode Kth Largest Element in an Array 題目 思路 利用快排的思想,每次都能得到一個位置mid; 並且我們知道在mid之前的數都是大於nums[mid]; 並且我們知道在mid之後的

原创 LeetCode Invert Binary Tree

LeetCode Invert Binary Tree 題目 思路 沒什麼思路可言; 真不敢相信他寫不出; 代碼 struct TreeNode* invertTree(struct TreeNode* root) {

原创 LeetCode Contains Duplicate

LeetCode Contains Duplicate 題目 思路 剛開始還以爲是什麼異或判重; 後來發現是自己想錯了- -; 還是哈希好點。 代碼 bool containsDuplicate(int* nums, int

原创 LeetCode Contains Duplicate III

LeetCode Contains Duplicate III 題目 思路 我的方法是先用一個結構體,存下每個數字的值和其原座標; 然後根據值大小排序; 接着遍歷每一個數字num[i].val; 利用二分查找找到剛好比nu