- 博客(45)
- 收藏
- 关注
原创 leetcode 56: Merge Intervals
/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */class So
2015-07-31 21:54:17 189
原创 leetcode 45: Jump Game II
class Solution {public: int jump(vector& nums) { if(nums.size()==1) return 0; int max=nums[0],range=nums[0]; int step=0; //loop the array for only once
2015-07-29 21:08:26 213
原创 leetcode 54: Jump Game
class Solution {public: bool canJump(vector& nums) { if(nums.size()==1) return true; if(nums[0]==0) return false; int max=-1; for(int i=0;i
2015-07-28 22:12:26 160
原创 leetcode 53: Spiral Matrix
class Solution {public: vector spiralOrder(vector>& matrix) { vector res; if(matrix.empty()) return res; int m=matrix.size(); int n=matrix[0].size();
2015-07-28 19:15:55 164
原创 leetcode 52: Maximum Subarray
class Solution {public: int maxSubArray(vector& nums) { int max=nums[0]; int pre=nums[0]; for(int i=1;i<nums.size();i++) { if(nums[i]+pre>nums[i])
2015-07-28 18:37:28 168
原创 leetcode 51: N-Queens
DFS method:class Solution {public: vector> solveNQueens(int n) { vector > res; vector board; for(int i=0;i<n;i++) { string s; for(int j=0
2015-07-27 21:13:37 194
原创 leetcode 50: Pow(x, n)
Loop through each bit of n instead of n times. Be careful with the case that when n is INT_MIN.class Solution {public: double myPow(double x, int n) { if(n==0) return 1;
2015-07-27 18:09:16 228
原创 leetcode 49: Anagrams
class Solution {public: vector anagrams(vector& strs) { vector res; map mp; for(int i=0;i<strs.size();i++) { string temp=strs[i]; if(temp.s
2015-07-26 22:13:36 200
原创 leetcode 48: Rotate Image
class Solution {public: void rotate(vector>& matrix) { int size=matrix.size(); for(int i=0;i<size/2;i++) { for(int j=i;j<size-i-1;j++) {
2015-07-26 19:49:17 225
原创 leetcode 47: Permutations II
class Solution {public: vector> permuteUnique(vector& nums) { vector > res; res.push_back(nums); vector backup=nums; nextPermutation(nums); while(nums!=bac
2015-07-26 13:41:55 183
原创 leetcode 46: Permutations
class Solution {public: vector> permute(vector& nums) { int time=1; for(int i=1;i<=nums.size();i++) time*=i; vector > res; res.push_back(nums);
2015-07-26 13:08:19 147
原创 leetcode 44: Wildcard Matching
DP algorithmThe time is too long which can still be optimizedclass Solution {public:bool isMatch(string s, string p) { if(p=="*") return true; if(p.empty()&&!s.empty())
2015-07-26 12:00:43 171
原创 leetcode 43: Multiply Strings
My method which is a little redundantclass Solution {public: string multiply(string num1, string num2) { if(num1[0]=='0'||num2[0]=='0') return "0"; string res="0";
2015-07-16 23:03:42 202
原创 leetcode 42: Trapping Rain Water
class Solution {public: int trap(vector& height) { int begin; int res=0; for(begin=0;begin<height.size();begin++)//find the first non-zero position if(height[b
2015-07-15 22:49:29 183
原创 leetcode 41: First Missing Positive
class Solution {public: int firstMissingPositive(vector& nums) { int i=0; while(i<nums.size()) { if(nums[i]!=i+1&&nums[i]>0&&nums[i]<nums.size()&&nums[i]!=nums
2015-07-14 23:42:42 207
原创 leetcode 40: Combination Sum II
class Solution {public: vector> combinationSum2(vector& candidates, int target) { vector > res; vector set; sort(candidates.begin(),candidates.end()); helper(candi
2015-07-08 15:58:56 177
原创 leetcode 39: Combination Sum
class Solution {public: vector> combinationSum(vector& candidates, int target) { vector > res; vector set; sort(candidates.begin(),candidates.end()); helper(candid
2015-07-08 15:34:41 157
原创 leetcode 38: Count and Say
class Solution {public: string countAndSay(int n) { string s="1"; if(n==1) return s; string res; n--; while(n--) { res.clea
2015-07-05 22:58:44 164
原创 leetcode 37: Sudoku Solver
DFS method:class Solution {public: void solveSudoku(vector>& board) { solve(board); } bool solve(vector>& board){ int i,j; for(i=0;i<9;i++) {
2015-07-05 13:20:56 202
原创 leetcode 36: Valid Sudoku
class Solution {public: bool isValidSudoku(vector>& board) { bool row[9]; bool col[9]; bool block[9]; int num; for(int i=0;i<9;i++) { m
2015-07-04 16:03:02 140
原创 leetcode 35: Search Insert Position
class Solution {public: int searchInsert(vector& nums, int target) { int left=0,right=nums.size()-1,mid=(left+right)/2; while(left!=right) { if(nums[mid]==targ
2015-07-04 12:01:51 168
原创 leetcode 34: Search for a Range
binary search:class Solution {public: vector searchRange(vector& nums, int target) { int left=0,right=nums.size()-1,mid=(left+right)/2; vector res; res.push_back(-1);
2015-07-04 10:45:51 218
原创 leetcode 33: Search in Rotated Sorted Array
class Solution {public: int search(vector& nums, int target) { int left=0,right=nums.size()-1,mid=(left+right)/2; while(mid!=left&&mid!=right&&(nums[mid]nums[right])) {
2015-07-03 22:44:17 146
原创 leetcode 32: Longest Valid Parentheses
The O(n) method:class Solution {public: int longestValidParentheses(string s) { vector len(s.length(),false); stack st; int res=0; for(int i=0;i<s.length();i++)
2015-07-03 16:31:32 215
原创 leetcode 31: Next Permutation
class Solution {public: void nextPermutation(vector& nums) { for(int i=nums.size()-2;i>=0;i--) { if(nums[i]<nums[i+1])//find the place that the first ascending happens
2015-07-03 15:01:49 252
原创 leetcode 30: Substring with Concatenation of All Words
class Solution {public: vector findSubstring(string s, vector& words) { vector res; if(!s.length()||!words.size()) return res; int all_len=words.size()*words[0
2015-07-03 12:07:43 234
原创 leetcode 29: Divide Two Integers
class Solution {public: int divide(int dividend, int divisor) { if(divisor==0||dividend==INT_MIN&&divisor==-1) return INT_MAX; long long a=labs(dividend); long
2015-07-03 12:07:02 212
原创 leetcode 28: Implement strStr()
class Solution {public: int strStr(string haystack, string needle) { int hlen=haystack.length(); int nlen=needle.length(); if(hlen<nlen) return -1; if(
2015-07-03 12:06:04 167
原创 leetcode 27: Remove Element
class Solution {public: int removeElement(vector& nums, int val) { if(nums.empty()) return 0; if(nums.size()==1) { if(nums[0]==val)
2015-07-03 12:05:13 160
原创 leetcode 26: Remove Duplicates from Sorted Array
class Solution {public: int removeDuplicates(vector& nums) { if(nums.empty()) return 0; int res=1; int old=0; for(int i=1;i<nums.size();i++)
2015-07-03 12:04:38 205
原创 leetcode 25: Reverse Nodes in k-Group
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* re
2015-07-03 12:03:54 146
原创 leetcode 24: Swap Nodes in Pairs
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* sw
2015-07-03 12:02:51 176
原创 leetcode 23: 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
2015-07-03 12:01:58 191
原创 leetcode 22: Generate Parentheses
class Solution {public: vector generateParenthesis(int n) { string s; vector res; helper(n,n,s,res); return res; } void helper(int left,int right,string s,
2015-07-03 12:00:47 204
原创 leetcode 21: 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
2015-07-03 11:59:44 152
原创 leetcode 20: Valid Parentheses
class Solution {public: bool isValid(string s) { stack st; for(int i=0;i<s.length();i++) { if(s[i]=='('||s[i]=='['||s[i]=='{') st.push(s[i]);
2015-07-03 11:58:20 195
原创 leetcode 19: Remove Nth Node From End of List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* re
2015-07-03 11:57:21 158
原创 leetcode 18: 4Sum
class Solution {public: vector> fourSum(vector& nums, int target) { sort(nums.begin(),nums.end()); vector set; vector > res; if(nums.size()<4) return r
2015-07-03 11:56:05 159
原创 leetcode 17: Letter Combinations of a Phone Number
class Solution {public: vector letterCombinations(string digits) { map mp; mp['2']="abc"; mp['3']="def"; mp['4']="ghi"; mp['5']="jkl"; mp['6']="mno
2015-07-03 11:55:23 174
原创 leetcode 16: 3Sum Closest
class Solution {public: int threeSumClosest(vector& nums, int target) { int res=target<0?INT_MAX+target:INT_MAX-target; sort(nums.begin(),nums.end()); for(int i=0;i<nums.s
2015-07-03 11:54:24 279
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人