原创 66-PlusOne

難度:easy 題目描述 Given a non-negative integer represented as a non-empty array of digits, plus one to the integer. You

原创 107-Binary Tree Level Order Traversal II

類別:BFS 難度:easy 題目描述 算法分析 廣度優先搜索,使用隊列輔助實現,具體實現與前面一篇博客102相同,只不過是在最後的時候,將結果進行反轉而已(單純的數組的反轉) 代碼實現 class Solution { pu

原创 45-Jump Game II

類別:BFS 難度:hard 題目描述 代碼實現 int jump(vector<int>& nums) { int n = nums.size(); if (n < 2) return 0; int

原创 38-Count And Say

類別:string 題目描述 算法分析 1:“1”(有1個1) 2:“11”(表示上一個即第一個有1個1,而當前有2個1) 3:“21”(表示上一個即第二個有2個1,而當前有1個2,1個1) 3:“1211”(表示上一個即

原创 102- Binary Tree Level Order Traversal

類別:BFS 難度:medium 題目描述 算法分析 (1)廣度優先算法,使用隊列輔助實現 (2)如果單純是從左到右,逐層遍歷二叉樹的話,就很簡單: 最初將根節點壓入隊列中,在隊列不爲空的情況下,不斷的從隊頭取出元素,並且

原创 455-Assign Cookies

類別:greedy 難度:easy 題目描述 算法描述 (1)對孩子們的最低要求進行排序,對所有的餅乾進行排序 (2)將能夠滿足孩子要求的最小的餅乾給相應的孩子,直到遍歷完兩個數組。 代碼實現 class Solution

原创 01 matrix

類別:BFS 難度:medium 題目描述 Given a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell. The dist

原创 515-Find largest Value in Each Tree Low

類別:BFS 難度:medium 題目描述 算法分析: 因爲需要確定是哪一行,所以將節點放到隊列中的時候需要標識它的行號。 首先,1進入隊列,行號爲0【<1, 0>】將隊列中的對頭節點取出,然後將其左右節點放到隊列中,其左右節點的行

原创 28-Implement strStr()(匹配字符串問題KMP算法)

類別:string 題目描述 算法 使用暴力求解的算法效率低,出現runtime error,時間複雜度是O(nm) 可以使用string的find函數,但是具體的實現應該參考KMP算法:時間按複雜度是O(n+m): htt

原创 659-Split Array into Consecutive Subsequences

類別:greedy 難度:medium 題目描述 首先,需要正確理解題目的意思,最開始的時候誤解爲是隻要將所有的數字分成兩組,然後每一組中的數字含有三個以上連續的數字,後來發現並不是。 題目的意思是:將數組劃分爲子數組,使得每個子數組中

原创 greedysnake 貪喫蛇

大一上學期軟導的貪喫蛇代碼,當時實現了很久,努力自己實現了大部分, 另外參考了師兄給的代碼,最終才完整實現,但是沒有實現自動的部分 #include<stdio.h> #include<stdlib.h> #include<s

原创 46、47-Permutations

難度:medium 題目描述 46-Permutations I: 47-Permutations II: 算法分析 46: 直接使用函數next_permutation(_vector.begin(), _vector.e

原创 111、257(遞歸,DFS)

類別:recursive, DFS 111-Minimum Depth of Binary Tree 題目描述: Given a binary tree, find its minimum depth. The minimum

原创 112-Path Sum

類別:DFS 難度:easy 題目描述 算法分析 用遞歸的方式,分別對左子樹和右子樹存在的路徑進行和進行判斷。噹噹前節點的左右節點分別爲NULL時,即路徑已經到達葉子節點。 代碼實現 bool hasPathSum(TreeN

原创 67-add Binary

難度:easy 題目描述 算法分析 對都有字符的進行相加,並且注意carry的值,對於不同長度的部分,與carry進行相加即可。 char轉int,ch - ‘0’ int轉char,int + ‘0’ 代碼實現 class