- 博客(58)
- 资源 (2)
- 收藏
- 关注
转载 Subsets
class Solution { public: vector> subsets(vector& nums) { vector> res; vector emp; res.push_back(emp); sort(nums.begin(),nums.end()); if(!nums.
2015-05-28 00:08:33
302
原创 Combinations
class Solution { public: vector> combine(int n, int k) { vector> result; vector cur; dfs(result,cur,1,k,n); return result; } void dfs(vector>
2015-05-27 19:44:59
249
转载 Sqrt(x)
class Solution { public: int mySqrt(int x) { long long low=0; long long high=x; long long result=0; while(low<=high) { long long
2015-05-27 19:38:27
319
转载 Permutations II
class Solution { public: vector> permuteUnique(vector& nums) { vector> result; if(nums.empty()) return result; else dfs(result,nums,0,nums.si
2015-05-27 19:12:00
273
原创 Permutations
class Solution { public: vector> permute(vector& nums) { vector> result; if(nums.empty()) return result; else dfs(result,nums,0,nums.si
2015-05-27 18:32:24
265
转载 Remove Element
class Solution { public: int removeElement(vector& nums, int val) { if(nums.empty()) return 0; const int n=nums.size(); int count=0; for(in
2015-05-27 18:22:44
261
转载 Generate Parentheses
class Solution { public: vector generateParenthesis(int n) { vector result; if(n > 0) dfs(result,"",n,n); return result; } void dfs(
2015-05-27 17:50:53
238
转载 Set Matrix Zeroes
class Solution { public: void setZeroes(vector>& matrix) { if(matrix.empty()|| matrix[0].empty()) return; int m=matrix.size(); int n=matrix[0].size();
2015-05-27 16:50:12
456
转载 Valid Number
class Solution { public: bool isNumber(string s) { const int n = s.size(); int i = 0; while(i < n && s[i] == ' ') ++i; if(i == n) retur
2015-05-27 12:12:38
276
原创 成对交换双向链表中的结点
头文件: #include class ListNode { public: ListNode* next; ListNode* pre; int val; ListNode(int x):val(x),next(NULL),pre(NULL){}; }; 源文件: #include "ListNode.h" #include #include using namespac
2015-05-27 11:58:41
608
转载 Insert Interval
/** * 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-05-27 11:01:50
295
原创 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-05-25 23:32:53
288
原创 Kth Largest Element in an Array
class Solution { public: int findKthLargest(vector& nums, int k) { if(nums.empty()) return 0; make_heap(nums.begin(),nums.end()); int i=0; int num=
2015-05-25 22:59:38
242
转载 Trapping Rain Water
class Solution { public: int trap(vector& height) { if(height.empty()) return 0; int left=0; int right=height.size()-1; int size=0;
2015-05-24 19:17:33
303
转载 Sort List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* so
2015-05-20 17:42:04
242
转载 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-05-18 21:09:21
236
转载 Pow(x, n)
class Solution { public: double myPow(double x, int n) { if(n<0) { if(n==INT_MIN) return pow(x,n+1)/x; else {
2015-05-18 20:44:22
281
原创 Reverse Integer
class Solution { public: int reverse(int x) { long long result=0; string s=""; int sign=1; if(x<0) sign=-1; int temp=x*sign; s=to_s
2015-05-17 21:43:18
235
转载 String to Integer (atoi)
class Solution { public: int myAtoi(string str) { long long res = 0; int sign = 1; const int n=str.size(); int i=0; while(str[i] ==' ' && i ++i;
2015-05-17 21:08:52
398
转载 Compare Version Numbers
class Solution { public: int compareVersion(string version1, string version2) { const int m = version1.size(); const int n = version2.size(); int i = 0; int j
2015-05-17 20:21:16
303
原创 Count and Say
class Solution { public: string countAndSay(int n) { if(n<=0) return ""; string result="1"; for(int i=2;i<=n;++i) { string temp="";
2015-05-17 17:59:01
251
原创 Valid Parentheses
class Solution { public: bool isValid(string s) { if(s.empty()||s.size()==1) return false; stack stackdata; int i=0; const int n=s.size();
2015-05-17 16:51:13
288
原创 ZigZag Conversion
class Solution { public: string convert(string s, int numRows) { if(s.empty()|| numRows<=0) return ""; if(numRows==1||numRows>=s.size()) return s;
2015-05-17 16:13:37
257
原创 Length of Last Word
class Solution { public: int lengthOfLastWord(string s) { if(s.empty()) return 0; int count=0; bool firstspace=true; const int n=s.size();
2015-05-16 11:23:08
226
转载 Longest Common Prefix
class Solution { public: string longestCommonPrefix(vector& strs) { const int n=strs.size(); if(n==0) return ""; else if(n==1) return strs[0];
2015-05-15 15:49:46
258
转载 Longest Substring Without Repeating Characters
class Solution { public: int lengthOfLongestSubstring(string s) { const int n=s.size(); if(n==0) return 0; else { unordered_map m;
2015-05-15 15:32:33
257
转载 Longest Palindromic Substring
class Solution { public: string longestPalindrome(string s) { const int n=s.size(); if(n==0) return ""; else if(n==1) return s; else
2015-05-15 15:04:30
252
原创 Best Time to Buy and Sell Stock III
1、分别计算出0天到i天的最大利润和i天到最后一天的最大利润,两者相加,找出最大的,但是超时了。 class Solution { public: int maxProfit(vector& prices) { const int size=prices.size(); if(size==0) return 0;
2015-05-09 23:25:30
283
转载 Best Time to Buy and Sell Stock II
class Solution { public: int maxProfit(vector &prices) { if(prices.empty()) return 0; int max=0; int start=prices[0]; int last=prices
2015-05-09 22:50:12
314
转载 Word Break II
class Solution { public: vector wordBreak(string s, unordered_set& wordDict) { const int n=s.length(); vector result(n,false); for(int i=0;i<n;++i) {
2015-05-09 22:22:21
419
原创 Unique Paths II
class Solution { public: int uniquePathsWithObstacles(vector>& obstacleGrid) { const int m=obstacleGrid.size(); const int n=obstacleGrid[0].size(); if(obstacl
2015-05-08 16:01:20
307
原创 Unique Paths
class Solution { public: int uniquePaths(int m, int n) { vector> dp(m,vector(n,1)); //dp[i][j] 表示到第i行,第j列的路径条数,初始化为1的目的在于初始化边框上的数值 for(int i=1;i<m;++i) for(int j=
2015-05-08 15:36:59
301
原创 Decode Ways
class Solution { public: int numDecodings(string s) { const int size=s.size(); vector dp(size+1); //dp[i]代表到第i个符号有多少种解码方式 dp[0]=1; //初始化dp[0]为1,为了计算的需要 i
2015-05-08 11:37:50
276
转载 Best Time to Buy and Sell Stock
class Solution { public: int maxProfit(vector& prices) { const int size=prices.size(); if(size==0) return 0; int curMin=prices[0]; int MaxPro=0;
2015-05-08 10:09:52
281
转载 Maximum Product Subarray
class Solution { public: int maxProduct(vector& nums) { const int size=nums.size(); if(size==0) return 0; int maxLast=nums[0]; int minLast=
2015-05-07 23:03:08
327
转载 House Robber
class Solution { public: int rob(vector& nums) { const int size=nums.size(); int maxRob=INT_MIN; if(size==0) return 0; else if(size==1)
2015-05-07 22:26:22
266
转载 Maximum Subarray
class Solution { public: int maxSubArray(vector& nums) { const int n=nums.size(); int maxSum=0; //每一段的最大值,局部最优 int result=INT_MIN; //全局最优 for(in
2015-05-07 22:02:00
298
转载 Triangle
class Solution { public: int minimumTotal(vector > &triangle) { if(!triangle.size()) return 0; vector dp(triangle.size()); int minT=INT_MAX; dp[0]=tria
2015-05-07 17:33:01
291
转载 3Sum Closest
class Solution { public: int threeSumClosest(vector& nums, int target) { int size=nums.size(); sort(nums.begin(),nums.end()); int mindiff=INT_MAX; int r
2015-05-06 23:04:42
240
转载 4Sum
class Solution { public: vector> fourSum(vector& nums, int target) { int size=nums.size(); vector> result; vector cur; if(size<4) return re
2015-05-06 22:03:12
230
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人