原创 LetCode78-子集

【題目】 https://leetcode-cn.com/problems/subsets/ 【思路】 考慮數組[1, 2, 3]的所有子集組合情況,在依次遍歷元素時有如下求解過程: ①初始: [] ②遍歷1:[], [1] ③遍歷2:[

原创 LeetCode79-矩陣置零

【題目】 https://leetcode-cn.com/problems/set-matrix-zeroes/submissions/ 【思路】 1.遍歷原始數組,若當前元素爲0,則將該元素所在行和列的第一個元素賦值爲0,(第一行和第一

原创 LeetCode62-不同路徑II

【題目】 https://leetcode-cn.com/problems/unique-paths-ii/ 【思路】 同樣是動態規劃算法,有兩點區別 ①初始化第一行和第一列時,若當前位置無障礙且前一個節點可達,則該位置的路徑數量爲1,否

原创 LeetCode81-搜索旋轉排序數組II

【題目】 https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii/submissions/ 【思路】 二分查找(同搜索旋轉排序數組I https://blog.

原创 LeetCode56-不同路徑

【思路】 動態規劃算法 設置數組path_nums,path_nums[i,j]表示從左上角到下標爲[i,j]位置不同路徑的數量,則題目所求爲path_nums[n-1][m-1] 動態規劃方程爲path_nums[i,j]= ①1, i

原创 LeetCode80-刪除排序數組中的重複項II

【題目】 https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii/submissions/ 【思路】 雙指針法 指針k指向當前數組中有效元素的下標 指

原创 C++中優先隊列和sort中自定義排序算法的對比

C++中優先隊列和sort自定義排序算法對比!! C++優先隊列 C++中優先隊列常用作大頂堆和小頂堆,定義格式如下: 定義 priority_queue<Type, Container, Functional>; //Type是

原创 LeetCode-95不同的二叉搜索樹

【題目】 https://leetcode-cn.com/problems/unique-binary-search-trees-ii/submissions/ 【思路】 遞歸 【C++代碼】 class Solution { publ

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

【題目】     在未排序的數組中找到第k個最大的元素。請注意,需要找的是數組排序後的第k個最大的元素,而不是第k個不同 的元素。 【思路】 快速選擇算法:時間複雜度爲O(n),空間複雜度爲O(1) 快速選擇算法是快速排序算法的變形,常用

原创 LeetCode49-字母異位詞分組

【題目】 https://leetcode-cn.com/problems/group-anagrams/ 【思路】 將字符串進行排序,若兩個字符串的排序相同則爲字母異位詞 利用hash表的唯一key值特性,遍歷字符串 1.對當前字符串進

原创 LeetCode5-最長迴文子串

【題目】 https://leetcode-cn.com/problems/longest-palindromic-substring/ 【思路】 動態規劃算法 最優子結構性質: 假設字符串s[i][j]爲迴文字符串,則若s[i-1]==

原创 LeetCode148-排序鏈表

【題目】 https://leetcode-cn.com/problems/sort-list/ 【思路】 自底向上的歸併排序時間複雜度爲O(nlogn) 兩個重要的子函數: 1.ListNode * cut(ListNode* hea

原创 LeetCode114-二叉樹展開爲鏈表

【題目】 https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/submissions/ 【思路】 二叉樹的前序遍歷 遍歷過程藉助棧結構 1.放入根節點的右

原创 劍指offer-整數中1出現的次數

【題目】 輸入一個整數n,求1到n這n個整數的十進制表示中1出現的次數。比如輸入12,1到12這些整數中包含1的數字有1,10,11,12,1一共出現了5次。 【思路】 參考鏈接https://www.cnblogs.com/lengen

原创 LeetCode236-二叉樹的最近公共祖先

【題目】 給定一個二叉樹,找到該樹中兩個指定結點的最近公共祖先。 https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/ 【思路】 遞歸 p和q有