摘要: 二分 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); int firstpos = findFirstPos(A,0,n-1,target); if(firstpos!=-1){ int lastpos = findLastPos(A,0,n-1,targ... 阅读全文
posted @ 2013-10-08 23:01 summer_zhou 阅读(147) 评论(0) 推荐(0)
摘要: vector insert(vector &intervals, Interval newInterval) { // Note: The Solution object is instantiated only once and is reused by each test case. vector res; int i = 0; int n = intervals.size(); while(i<n&&intervals[i].end<newInterval.start) { ... 阅读全文
posted @ 2013-10-08 22:33 summer_zhou 阅读(146) 评论(0) 推荐(0)
摘要: vector merge(vector &intervals) { // Note: The Solution object is instantiated only once and is reused by each test case. vector res; if(intervals.empty()) return res; sort(intervals.begin(),intervals.end(),cmp); res.push_back(intervals[0]); f... 阅读全文
posted @ 2013-10-08 22:16 summer_zhou 阅读(153) 评论(0) 推荐(0)
摘要: int m = 0,n=0; void solve(vector> &board) { // Start typing your C/C++ solution below // DO NOT write int main() function if(board.empty()||board[0].empty()) return; m = board.size(); n = board[0].size(); int i,j; for(j=0;j>&... 阅读全文
posted @ 2013-10-08 20:55 summer_zhou 阅读(143) 评论(0) 推荐(0)
摘要: DP + 回溯 vector> partition(string s) { // Note: The Solution object is instantiated only once and is reused by each test case. vector> res; if(s.empty()) return res; int n = s.size(); vector> isPalin(n,vector(n,false)); int i,j; for(i=0;i... 阅读全文
posted @ 2013-10-08 20:49 summer_zhou 阅读(98) 评论(0) 推荐(0)
摘要: int maxProfit(vector &prices) { // Start typing your C/C++ solution below // DO NOT write int main() function if(prices.empty()) return 0; int buy = prices[0]; int maxprofit = 0; for(int i=1;ibuy) maxprofit += (prices[i]-buy); ... 阅读全文
posted @ 2013-10-08 15:25 summer_zhou 阅读(122) 评论(0) 推荐(0)
摘要: DP int maxProfit(vector &prices) { // Start typing your C/C++ solution below // DO NOT write int main() function if(prices.empty()) return 0; vector profit1(prices.size(),0); vector profit2(prices.size(),0); int minPrice = prices[0]; ... 阅读全文
posted @ 2013-10-08 15:01 summer_zhou 阅读(135) 评论(0) 推荐(0)
摘要: 需要跳过不是alnum的字符。 bool isPalindrome(string s) { // Start typing your C/C++ solution below // DO NOT write int main() function if(s.empty()) return true; int i = 0,j = s.size()-1; while(true) { while(i=j) retu... 阅读全文
posted @ 2013-10-08 09:57 summer_zhou 阅读(145) 评论(0) 推荐(0)
摘要: 回溯 int sumNumbers(TreeNode *root) { // Start typing your C/C++ solution below // DO NOT write int main() function if(!root) return 0; int sum = 0; dfs(root,0,sum); return sum; } void dfs(TreeNode* root,int num, int& sum) { ... 阅读全文
posted @ 2013-10-08 09:46 summer_zhou 阅读(162) 评论(0) 推荐(0)
摘要: 回溯 vector > pathSum(TreeNode *root, int sum) { // Note: The Solution object is instantiated only once and is reused by each test case. vector> res; if(!root) return res; vector path; dfs(root,sum,path,res); return res; } void ... 阅读全文
posted @ 2013-10-08 09:16 summer_zhou 阅读(144) 评论(0) 推荐(0)