Leetcode
文章平均质量分 61
Albahaca
这个作者很懒,什么都没留下…
展开
-
Triangle
Dynamic ProgrammingRecursion:class Solution {public: int getMin(vector > &triangle, int row, int column) { if(row>triangle.size()-1) { return 0; } int left原创 2013-07-11 15:16:51 · 444 阅读 · 0 评论 -
Add two numbers
** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *add原创 2013-07-11 17:12:02 · 347 阅读 · 0 评论 -
Convert Sorted Array/list to Binary Search Tree
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-09-04 14:18:20 · 500 阅读 · 1 评论 -
Search for a Range
class Solution {public: vector searchRange(int A[], int n, int target) { // Start typing your C/C++ solution below // DO NOT write int main() function //if (!A) return NUL原创 2013-09-01 09:34:29 · 401 阅读 · 0 评论 -
Largest Rectangle in Histogram
class Solution {public: int largestRectangleArea(vector &height) { // Start typing your C/C++ solution below // DO NOT write int main() function if (height.size()==0) retu原创 2013-09-08 14:49:59 · 405 阅读 · 0 评论 -
Validate Binary Search Tree
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-09-09 07:15:29 · 414 阅读 · 0 评论 -
Merge Two Sorted Lists
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *me原创 2013-09-04 14:08:23 · 453 阅读 · 0 评论 -
Partition List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *pa原创 2013-10-01 12:40:45 · 518 阅读 · 1 评论 -
Gas Station
class Solution {public: int canCompleteCircuit(vector &gas, vector &cost) { // Note: The Solution object is instantiated only once and is reused by each test case. int res=-1;原创 2013-10-03 13:03:25 · 982 阅读 · 0 评论 -
Candy
class Solution {public: int candy(vector &ratings) { // Note: The Solution object is instantiated only once and is reused by each test case. int candy[ratings.size()]; int原创 2013-10-03 14:42:01 · 439 阅读 · 0 评论 -
Single Number
class Solution {public: int singleNumber(int A[], int n) { // Note: The Solution object is instantiated only once and is reused by each test case. unordered_map map; for (原创 2013-10-03 13:02:28 · 513 阅读 · 0 评论 -
Rotate List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *ro原创 2013-10-03 15:16:05 · 376 阅读 · 0 评论 -
Copy List with Random Pointer
/** * Definition for singly-linked list with a random pointer. * struct RandomListNode { * int label; * RandomListNode *next, *random; * RandomListNode(int x) : label(x), next(NULL),原创 2013-10-05 15:24:31 · 799 阅读 · 0 评论 -
Gray Code
class Solution {public: vector grayCode(int n) { // Start typing your C/C++ solution below // DO NOT write int main() function vector res; if (n==0) {原创 2013-09-20 10:30:07 · 450 阅读 · 0 评论 -
Same Tree
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-09-21 07:42:11 · 402 阅读 · 0 评论 -
atoi
class Solution {public: int atoi(const char *str) { // Start typing your C/C++ solution below // DO NOT write int main() function if (str==NULL) return -1; long lo原创 2013-10-06 07:58:06 · 403 阅读 · 0 评论 -
Reverse integer
class Solution {public: int reverse(int x) { // Start typing your C/C++ solution below // DO NOT write int main() function int y=0; int flag=1; if (x){原创 2013-10-06 08:08:54 · 351 阅读 · 0 评论 -
Word Break
The 2 brute-force ways O(2^n)class Solution {public: bool bf(string s, unordered_set &dict, int start) { if (start==s.size()) return true; int len=1; while (len.size()原创 2013-10-06 02:58:34 · 567 阅读 · 0 评论 -
Word Break II
class Solution {public: vector wordBreak(string s, unordered_set &dict) { // Note: The Solution object is instantiated only once and is reused by each test case. vector res;原创 2013-10-09 08:32:05 · 509 阅读 · 0 评论 -
Word Ladder
BFS:class Solution {public: int ladderLength(string start, string end, unordered_set &dict) { // Start typing your C/C++ solution below // DO NOT write int main() function原创 2013-10-09 14:32:55 · 413 阅读 · 0 评论 -
Sudoku Solver
class Solution {public: bool validSudoku(vector > &board) { int i=0,j=0; int count[10]; for (i=0; i<9; i++) { memset(count, 0, sizeo原创 2013-09-24 12:21:21 · 452 阅读 · 0 评论 -
Decode Ways
class Solution {public: int numDecodings(string s) { // Start typing your C/C++ solution below // DO NOT write int main() function if (s.size()==0) { return 0;原创 2013-09-24 14:11:11 · 452 阅读 · 0 评论 -
Interleaving String
class Solution {public: bool isInterleave(string s1, string s2, string s3) { // Start typing your C/C++ solution below // DO NOT write int main() function if (s1.size(原创 2013-09-24 15:05:56 · 380 阅读 · 0 评论 -
Search for a Range
class Solution {public: vector searchRange(int A[], int n, int target) { // Note: The Solution object is instantiated only once and is reused by each test case. vector res(2,-1);原创 2013-10-12 14:22:00 · 395 阅读 · 0 评论 -
Maximum & Minimum Depth of Binary Tree
DFS:/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class原创 2013-09-27 13:25:01 · 418 阅读 · 0 评论 -
Binary Tree Level Order Traversal
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-09-27 12:24:12 · 434 阅读 · 1 评论 -
Palindrome Partitioning
class Solution {public: bool IsPalindrome (string s, int start, int end) { int i=start, j=end; while (i<j) { if (s[i]!=s[j]) { return false;原创 2013-10-14 06:47:39 · 356 阅读 · 0 评论 -
Combination Sum
DFS:I:terminal condition: depth==num.size()depth in next round = iclass Solution {public: void dfs(vectorint> &num, int target, int start, vectorint> &cur, vectorint> > &res) {原创 2013-10-17 06:13:15 · 352 阅读 · 0 评论 -
Word Ladder
I:BFSclass Solution {public: int ladderLength(string start, string end, unordered_set &dict) { // Note: The Solution object is instantiated only once and is reused by each test case原创 2013-10-20 14:47:27 · 531 阅读 · 0 评论 -
Valid Palindrome
class Solution {public: bool isPalindrome(string s) { // Note: The Solution object is instantiated only once and is reused by each test case. int i=0, j=s.size()-1; while原创 2013-10-19 16:51:21 · 290 阅读 · 0 评论 -
Sum Root to Leaf Numbers
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-07-11 16:55:55 · 337 阅读 · 0 评论 -
Length of Last Word
class Solution {public: int lengthOfLastWord(const char *s) { // Note: The Solution object is instantiated only once and is reused by each test case. //char *temp=s; int l原创 2013-10-22 06:18:42 · 338 阅读 · 0 评论 -
Divide Two Integers
A failure is the case (-2147483648, -2147483648). Here the problem is about the boundary of integer.For int (32 bits): [-2147483648, 2147483647]unsigned int [0, 4294967295]long (32bits) same原创 2013-11-20 10:16:40 · 573 阅读 · 0 评论 -
Binary Tree Preorder Traversal & Binary Tree Postorder Traversal
Preorder/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */cl原创 2013-11-21 10:13:34 · 598 阅读 · 0 评论 -
Merge k Sorted Lists
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *me原创 2013-11-21 10:04:52 · 540 阅读 · 0 评论 -
Linked List Cycle
I:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool h原创 2013-11-12 06:03:30 · 425 阅读 · 0 评论 -
Reorder List
O(n) complexity and O(1) spaceA linked list reverse function included./** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x)原创 2013-11-12 03:09:39 · 406 阅读 · 0 评论 -
Flatten Binary Tree to Linked List
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2013-11-13 02:17:38 · 310 阅读 · 0 评论 -
Reverse Linked List II
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *re原创 2013-09-29 11:42:36 · 355 阅读 · 0 评论 -
Insertion Sort List
Insertion sort/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:原创 2013-11-14 14:28:30 · 426 阅读 · 0 评论