- 博客(60)
- 问答 (1)
- 收藏
- 关注
原创 leetcode 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 *rev
2015-03-30 18:21:49 333
原创 leetcode gas station
class Solution {public: inline int transId(const int id, const int size){ return id % size; } int canCompleteCircuit(vector<int> &gas, vector<int> &cost) { int size = gas.s
2015-03-29 19:39:07 337
原创 leetcode Minimum Window Substring
O(n * m) solution is ordinaryO(N)的想法就没有思路了。。 看了别人的思路,wa了4,5次才过class Solution {public: bool check(const vector<int>& cnts, const vector<int>&cntt){ for(int i = 0; i < 55; ++i){
2015-03-29 12:56:38 388
原创 leetcode multiply strings
class Solution {public: string uniMul(int v, string num2,int bias){ string ret = ""; for(int i = 0; i < bias; ++i){ ret += "0"; } int len2 = num2.length
2015-03-29 10:03:58 307
原创 leetcode search for a range
class Solution {public: vector<int> searchRange(int A[], int n, int target) { vector<int> ret; ret.push_back(-1); ret.push_back(-1); if(n < 1){ return r
2015-03-28 23:57:10 368
原创 leetcode word break
class Solution {public: bool wordBreak(string s, unordered_set<string> &dict) { int len = s.length(); if(len == 0){ return true; } vector<bool> dp;
2015-03-28 16:59:27 360
原创 位运算总结
如何判断两个整数(32位)只有一个位不同?获取一个32-bit整数中值为1的二进制位的个数? x = x & 0x55555555 + (x >> 1) & 0x55555555; x = x & 0x33333333 + (x >> 2) & 0x33333333; x = x & 0x0f0f0f0f + (x >> 4) & 0x0f0f0f0f; x =
2015-03-28 16:29:16 335
原创 leetcode Maximum Product Subarray
class Solution {public: int maxProduct(int A[], int n) { vector<int> dp; dp.resize(n + 1); if(n == 0){ return 0; } int tmpmmin = 1, tmpmmax = 1,
2015-03-28 14:24:41 296
原创 leetcode Compare Version Numbers
class Solution {public: int compareVersion(string version1, string version2) { int len1 = version1.length(), len2 = version2.length(); if(len1 == 0){ if(len2 == 0){
2015-03-27 17:10:17 339
原创 c++ 写码语法
1.定义两个指针int*p1, *p2;而不是int *p1, p2;那么vector呢vector<int> v1, v2;是定义了两个vector<int>么 是的~
2015-03-27 17:07:05 458
原创 leetcode Interleaving String
class Solution {public: bool isInterleave(string s1, string s2, string s3) { int len1 = s1.length(), len2 = s2.length(), len3 = s3.length(); if(len3 != len1 + len2){ re
2015-03-27 16:28:37 320
原创 算法 之 有限状态自动机
这道题是从leetcode longest valid parentheses想到的 但是其实这道题和DMA的关系也不是很大… 先贴代码吧class Solution {public: int longestValidParentheses(string s) { int len = s.length(); int maxlen = 0;
2015-03-27 10:52:33 589
原创 leetcode Best Time to Buy and Sell
class Solution {public: int maxProfit(vector<int> &prices) { int ret = 0; vector<int> dppre, dppost; int size = prices.size(); if(size < 2){ return ret;
2015-03-26 09:29:38 352
原创 leetcode swap nodes in pairs
很简单的一道链表题,还是错了orz/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:
2015-03-26 00:46:56 350
原创 leetcode distinct subsequences
//从今天开始要好好刷题鸟~下面这个是AC了的代码wa一次,compile error一次class Solution {public: int numDistinct(string S, string T) { int slen = S.length(), tlen = T.length(); if(tlen > slen){
2015-03-26 00:37:57 343
原创 leetcode remove duplicates from sorted array
class Solution {public: int removeDuplicates(int A[], int n) { if(n <= 1){ return n; } int index = 0; for(int i = 1; i < n; ++i){ if(A[i] !=
2015-03-23 01:24:25 302
原创 leetcode Remove Duplicates from Sorted Lists
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *del
2015-03-23 01:22:06 366
原创 leetcode surround regions
错误代码1:class Solution {public: const int dir[4][2] = {{-1,0},{1,0},{0,-1},{0,1}}; bool isvalid(int tmph, int tmpw,const int h,const int w){ return (tmph > 0 && tmph < h - 1 && w > 0 &&
2015-03-22 17:11:05 477
原创 leetcode generate parenthese
class Solution {public: void dfs(int leftnum, int rightnum,const int totpair, vector<string>&ret, string str){ if(leftnum == totpair){ for(int iter = rightnum; iter < totpair;
2015-03-22 13:45:34 529
原创 leetcode sum root to leaf
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solutio
2015-03-22 13:33:10 335
原创 leetcode single number2
//将一个整数右移k位再左移k位,不一定得到原来的结果//如果过程中间有对原数组中元素的修改,不可以乱用原值可以不用base * 2^k的形式,反而用ret |= (1<<i)的形式class Solution {public: int singleNumber(int A[], int n) { if(n == 0){ return 0;
2015-03-22 13:23:21 312
原创 leetcode longest substring without repeating characters
思路1: greedy+hash,从左到右扫描 反例: abcade 思路2: 每次遇到重复字符时不是全部重新开始,而是弹出元素直到不重复class Solution {public: int lengthOfLongestSubstring(string s) { int len = s.length(); if(len == 0){
2015-03-22 03:07:48 398
原创 leetcode regular expression match
问题1:状态的重复记录问题class Solution {public: vector<vector<bool> >dp; vector<vector<bool> >visit; bool dfs(const char*s, const char*p, int slen, int plen){ if(visit[slen][plen]){
2015-03-22 00:40:45 385
原创 leetcode Insertion Sort List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *ins
2015-03-21 18:31:08 352
原创 leetcode Remove Elements
class Solution {public: int removeElement(int A[], int n, int elem) { int cur = 0; for(int i = 0; i < n; ++i){ if(A[i] != elem){ A[cur++] = A[i];
2015-03-21 11:31:54 384
原创 leetcode Pascal's Palindrome 2
class Solution {public: vector<int> getRow(int rowIndex) { if(rowIndex == 0){ vector<int> ret; ret.push_back(1); return ret; } if(rowIn
2015-03-21 11:28:19 379
原创 leetcode Majority Element
class Solution {public: int majorityElement(vector<int> &num) { int size = num.size(); if(size == 0){ return 0; } if(size == 1){ return num[
2015-03-21 11:18:47 345
原创 leetcode Merge Two Linked List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *mer
2015-03-21 11:07:25 441
原创 leetcode Valid Palindrome
class Solution {public: bool isValid(string s) { stack<char> cstack; int len = s.length(); if(len == 0){ return true; } char ctop; if(le
2015-03-21 11:06:26 328
原创 leetcode Valid Palindrome
class Solution {public: bool isValid(string s) { stack<char> cstack; int len = s.length(); if(len == 0){ return true; } char ctop; if(le
2015-03-21 10:26:11 299
原创 leetcode Pascal's Triangle
class Solution {public: vector<vector<int> > generate(int numRows) { vector<vector<int> >ret; if(numRows <= 0){ return ret; } ret.resize(numRows);
2015-03-21 10:12:42 370
原创 leetcode Letter Combinations of a Phone Number
class Solution {public: vector<vector<char> > dict; void dfs(int curidx, int totlen, string &str, string curstr, vector<string>& svec){ if(curidx == totlen){ svec.push_back
2015-03-21 10:04:51 302
原创 leetcode Merge Sorted Array
class Solution {public: void merge(int A[], int m, int B[], int n) { int sum = m + n; if(sum <= 0) return; int idx = sum - 1, idx1 = m - 1, idx2 = n - 1;
2015-03-21 09:37:58 286
原创 leetcode Excel Sheet Column Number
class Solution {public: int titleToNumber(string s) { long long ret = 0; int len = s.length(); if(len == 0){ return ret; } long long base = 1;
2015-03-21 09:29:06 311
原创 leetcode Remove Nth Node from Linked List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *rem
2015-03-21 01:30:43 400
空空如也
C++的文本编辑器怎样实现在行内插入字符的功能?
2013-09-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人