随笔分类 -  c:C/C++

摘要:C++使用hash map存储每个子串出现的次数 1 #include 2 #include 3 #include 4 using namespace std; 5 6 pair fun(const string& str) { 7 int len = str.length(); 8... 阅读全文
posted @ 2015-12-01 18:42 ZH奶酪 阅读(748) 评论(0) 推荐(0) 编辑
摘要:C++暴力搜索两个游标一个长度i遍历aj遍历blen遍历公共子串长度 1 class Solution { 2 public: 3 /** 4 * @param A, B: Two string. 5 * @return: the length of the lo... 阅读全文
posted @ 2015-12-01 12:18 ZH奶酪 阅读(301) 评论(0) 推荐(0) 编辑
摘要:C++去掉二进制最右边的1 1 class Solution { 2 public: 3 /* 4 * @param n: An integer 5 * @return: True or false 6 */ 7 bool checkPowerOf2(i... 阅读全文
posted @ 2015-12-01 12:02 ZH奶酪 阅读(272) 评论(0) 推荐(0) 编辑
摘要:C++ 1 class Solution { 2 public: 3 /** 4 * param n: As description. 5 * return: A list of strings. 6 */ 7 vector fizzBuzz(int n... 阅读全文
posted @ 2015-12-01 11:54 ZH奶酪 阅读(274) 评论(0) 推荐(0) 编辑
摘要:C++把3个数求和,转变为2个数求和1. 把数组排序2. 注意过滤重复值3. 从前到后遍历,游标i4. 从后边数中找start + end = -arr[i]的2 sum5. start + end -arr[i], end--7. start + end = -arr[i], insert i... 阅读全文
posted @ 2015-12-01 11:48 ZH奶酪 阅读(359) 评论(0) 推荐(0) 编辑
摘要:C++hash map把查找2个数的过程转换为查找1个数借用STL容器 unordered_map 1 class Solution { 2 public: 3 /* 4 * @param numbers : An array of Integer 5 * @param ... 阅读全文
posted @ 2015-12-01 11:31 ZH奶酪 阅读(270) 评论(0) 推荐(0) 编辑
摘要:通过交换,对0,1,2排序使用三个标记[循环不变式]i从前向后,记录最后一个0的位置j从后向前,记录第一个2的位置k从前向后,是遍历用的游标[0..i-1]是0[i..k-1]是1[k,j-1]是未探测[j..n-1]是2初始k=0时,0,1,2的区域都是空,所有区域都是未探测,循环k=0..n-1... 阅读全文
posted @ 2015-12-01 11:19 ZH奶酪 阅读(216) 评论(0) 推荐(0) 编辑
摘要:求第k个值1.归并排序归并到第k个值为止时间复杂度:O(k) 1 class Solution { 2 public: 3 // merge-sort to find K-th value 4 double helper(vector A, vector B, int lenA, i... 阅读全文
posted @ 2015-12-01 10:10 ZH奶酪 阅读(292) 评论(0) 推荐(0) 编辑
摘要:1.设查找的数位y,第一行最后一列的数位x如果xy,x是最后一列最小的,所以最后一列都大于y,删除最后一列;这样保证x永远在可能有解的矩阵的第一行,最后一列。时间复杂度:O(m+n) 1 class Solution { 2 public: 3 /** 4 * @param mat... 阅读全文
posted @ 2015-12-01 10:06 ZH奶酪 阅读(306) 评论(0) 推荐(0) 编辑
摘要:C++ 1 class Solution { 2 public: 3 /** 4 * @param x: An integer 5 * @return: The sqrt of x 6 */ 7 int sqrt(int x) { 8 /... 阅读全文
posted @ 2015-11-30 13:03 ZH奶酪 阅读(295) 评论(0) 推荐(0) 编辑
摘要:C++逆推 1 class Solution { 2 public: 3 /** 4 * @param triangle: a list of lists of integers. 5 * @return: An integer, minimum path sum. 6 ... 阅读全文
posted @ 2015-11-30 12:35 ZH奶酪 阅读(272) 评论(0) 推荐(0) 编辑
摘要:C++双向递推空间O(1)时间O(n) 1 class Solution { 2 public: 3 /** 4 * @param A an array of Integer 5 * @return an integer 6 */ 7 int long... 阅读全文
posted @ 2015-11-30 12:08 ZH奶酪 阅读(189) 评论(0) 推荐(0) 编辑
摘要:C++Divide-Conquer[71% passed] 1 class Solution { 2 public: 3 /** 4 * @param nums: a list of integers 5 * @return: A integer denote the s... 阅读全文
posted @ 2015-11-30 11:50 ZH奶酪 阅读(199) 评论(0) 推荐(0) 编辑
摘要:C++dp递推式:dp[i][j] = dp[i-1][j] + dp[i][j-1]初值:dp[i][j] = 1,i=0 or j=0空间优化:省掉一维 1 class Solution { 2 public: 3 /** 4 * @param n, m: positive i... 阅读全文
posted @ 2015-11-30 11:31 ZH奶酪 阅读(241) 评论(0) 推荐(0) 编辑
摘要:C++ 1 class Solution { 2 public: 3 /** 4 *@param a, b: Two integer 5 *return: An integer 6 */ 7 int bitSwapRequired(int a, int ... 阅读全文
posted @ 2015-11-30 11:13 ZH奶酪 阅读(192) 评论(0) 推荐(0) 编辑
摘要:dp注意问题 递推式 初值 空间优化1. bfs题目里有“最小”字样,符合bfs关键词:上界len(S)+len(T)实际上不可行;2. dp删除字符很麻烦换个角度,变为字符串“对齐问题”:S = ABCFT = DBFGS:A B C F -T:D B - F G对应位置相同则不扣分,不同则... 阅读全文
posted @ 2015-11-30 10:59 ZH奶酪 阅读(292) 评论(0) 推荐(0) 编辑
摘要:1. 暴力枚举2. “聪明”枚举3. 分治法分:两个基本等长的子数组,分别求解T(n/2)合:跨中心点的最大子数组合(枚举)O(n)时间复杂度:O(n*logn) 1 class Solution { 2 public: 3 /** 4 * @param nums: A l... 阅读全文
posted @ 2015-11-30 10:22 ZH奶酪 阅读(250) 评论(0) 推荐(0) 编辑
摘要:C++,time: O(m*n)space: O(m*n) 1 class Solution { 2 public: 3 /** 4 * @param grid: a list of lists of integers. 5 * @return: An integer, ... 阅读全文
posted @ 2015-11-27 14:36 ZH奶酪 阅读(220) 评论(0) 推荐(0) 编辑
摘要:C++ 1 class Solution { 2 public: 3 /** 4 * @param n the nth 5 * @return the nth sequence 6 */ 7 string countAndSay(int n) { 8 ... 阅读全文
posted @ 2015-11-27 13:18 ZH奶酪 阅读(278) 评论(0) 推荐(0) 编辑
摘要:C++/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->v... 阅读全文
posted @ 2015-11-27 11:09 ZH奶酪 阅读(202) 评论(0) 推荐(0) 编辑