leetcode
文章平均质量分 89
StevenIsSnail
辛苦理所当然。年轻就拼搏。挑战不确定。
展开
-
【矩阵加速_矩阵乘法_位运算】Climbing Stairs 求费波拉契数
class Solution {public: void mul(int (*src)[2],int (*m)[2]){ int a=src[0][0],b=src[0][1],c=src[1][0],d=src[1][1]; int e=m[0][0],f=m[0][1],g=m[1][0],h=m[1][1];///@error: fault原创 2014-08-02 20:42:29 · 757 阅读 · 0 评论 -
【二维dp_右下递推】interleaving、Distinct Subsequences、字符串交错、min edit distance、longest common sequence(LCS)
class Solution {public: bool isInterleave(string s1, string s2, string s3) { int n=s1.length(),m=s2.length(); if(n+m!=s3.length()) return false;///@@@error: s3.length can be not q原创 2014-08-01 23:24:16 · 566 阅读 · 0 评论 -
【九章算法】经典题目
九章算法面试题42 构造MaxTree原创 2014-11-20 22:52:51 · 4022 阅读 · 3 评论 -
【线性扫描】题型总结:最大积连续序列,str2int,2sum, 4sum,reverse word, 链表操作, 蛇形访问, 最大蓄水池,直方图最大矩形
Maximum Product Subarray Total Accepted: 12665 Total Submissions: 77402My SubmissionsQuestion Solution Find the contiguous subarray within an array (containing at least one numbe原创 2014-11-18 01:27:42 · 759 阅读 · 0 评论 -
【一维动规】 regular string 正则匹配、Word Break II
Regular Expression Matching Total Accepted: 13504 Total Submissions: 67886My SubmissionsImplement regular expression matching with support for '.' and '*'.'.' Matches any single charac原创 2014-08-01 22:09:02 · 796 阅读 · 1 评论 -
【数据结构_二叉树+dfs】
Flatten Binary Tree to Linked List Total Accepted: 17814 Total Submissions: 64054My SubmissionsGiven a binary tree, flatten it to a linked list in-place.For example,Given 1原创 2014-08-02 23:15:45 · 597 阅读 · 1 评论 -
【树形dp】Binary Tree Maximum Path Sum
Binary Tree Maximum Path Sum Total Accepted: 14936 Total Submissions: 75024My SubmissionsGiven a binary tree, find the maximum path sum.The path may start and end at any node in the tr原创 2014-08-01 22:59:16 · 857 阅读 · 0 评论 -
【图\树的BFS\DFS】 Word Ladder II (MinPath)、Surrounded Regions 、Add Next pointer in tree、zigzag bfs Tree
Word Ladder II Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) from start to end, such that:Only one letter can be changed at a timeEach原创 2014-08-01 21:35:31 · 739 阅读 · 1 评论 -
【基础练习】链表排序,反转,划分,拷贝等
sort list20‘ ac 归并排序/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {原创 2014-11-26 23:27:59 · 619 阅读 · 0 评论 -
【两类dfs总结】 Restore IP Addresses、Word Search、Subsets、带重复的全排列
Restore IP Addresses Total Accepted: 11457 Total Submissions: 56215My SubmissionsGiven a string containing only digits, restore it by returning all possible valid IP address combinations原创 2014-08-02 00:01:07 · 875 阅读 · 2 评论 -
【字符串】题型总结:min window, word ladder II, valid number
1 min window本题和数据结构联系紧密维护一个map t,保持每个字母的数量。维护一个queue,保持当前的有效的字母的下标。维护一个map cnt,保持当前队列queue中的字母和数量。每次从S遍历一个char,如果是有效的字母:修改cnt[char],加1。当计数值刚好等于t[char]的时候,说明有一个新的字母就位了, m++。当m==n的时候,说明所原创 2014-11-27 16:29:44 · 965 阅读 · 0 评论 -
【二分法】题型总结: 快排,轮转数组,双有序数组,sqrt,数组波峰
1 快排:2原创 2014-11-18 00:51:43 · 818 阅读 · 0 评论 -
【lintcode】树形数据结构之Maxtree, Tree iterator, remove bst node, 优先队列之动态中位数Median, 矩阵dfs之word search II,最大连
maxtree:http://lintcode.com/submission/60239/九章算法中有讲到, 对每个节点,找到离他最近且比它大的左右两个节点中较小的那个,作为他的父节点。其中,找父节点: 用递增栈分别从左向右和从右向左扫描一次,对每个节点取栈顶元素即可。 在O(n)时间里就可以找到距离该节点最近的比他大的节点。/** * Definition of T原创 2014-12-11 01:38:00 · 3271 阅读 · 0 评论 -
【google apec 2015 1b】 problem c: Card Game 三连扑克消除 DP
第三题 C #include #include using namespace std;inline bool isValid(int a,int b,int c,int k){ return b-a==k&&c-b==k;}//[ x y .....],kint dp(int a[],int n,int c){ if(n==0) return 0;原创 2014-09-15 17:39:30 · 686 阅读 · 0 评论 -
【矩阵二维或三维dp】最大子矩阵,子矩阵快速求和(用到最大直方图)
Maximal Rectangle Total Accepted: 9039 Total Submissions: 41503My SubmissionsGiven a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return i原创 2014-08-02 17:46:47 · 1155 阅读 · 0 评论 -
【九章算法】北美求职之面试题目
九章算法面试题55 旋转字符串九章算法面试题54 带重复元素的全排列九章算法面试题53 第一个出错的代码版本转载 2014-11-20 02:38:49 · 2227 阅读 · 0 评论 -
【数据结构_链表_最小堆】 链表找环,链表找交点,合并有序链表
Linked List Cycle Total Accepted: 24481 Total Submissions: 68828My SubmissionsGiven a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra sp原创 2014-08-02 21:27:41 · 591 阅读 · 1 评论 -
【大数模板+十进制+for_loop】Multiply Strings
Multiply Strings Total Accepted: 10575 Total Submissions: 51788My SubmissionsGiven two numbers represented as strings, return multiplication of the numbers as a string.Note: The number原创 2014-08-02 00:28:06 · 492 阅读 · 0 评论 -
【一维dp_线性扫描】Word Break 、Best time to Buy and Sell Stocks |||、max subarray、jump game |||
Word Break Total Accepted: 18367 Total Submissions: 88637My SubmissionsGiven a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of原创 2014-08-02 03:10:35 · 776 阅读 · 0 评论 -
【二维dp】最长等差数列
这道题明显可以两重循环高低。#include #include #include #include using namespace std;int cal(vector t){ sort(t.begin(),t.end()); vector > ms(t.size(),map()); int _max=0; for(int i=0;i<t.size();i++){原创 2014-08-21 13:34:33 · 688 阅读 · 1 评论 -
【leetcode】链表常见题目总结
链表属于线性扫描范畴。原创 2014-09-14 21:55:05 · 885 阅读 · 2 评论 -
leetcode总结
1 DFS 和递归有关系。如树形dp,深搜,原创 2014-08-13 01:27:58 · 685 阅读 · 1 评论 -
【字符串匹配】KMP(implement strStr()), 正则匹配(Wildcard Matching),2-dim 动规(regular expression)
1 KMP原创 2014-08-02 03:31:50 · 1330 阅读 · 1 评论 -
【数据结构_map容器迭代】Anagrams
class Solution {public: vector anagrams(vector &strs) { vector res;int n=strs.size(); if(n==0) return res; map > ss; char buffer[1000]; for(int i=原创 2014-08-02 21:57:56 · 605 阅读 · 1 评论 -
【线性扫描i】 valid number 数字格式是否正确
1 class Solution {public: inline bool isDg(char c){ return c>='0'&&c } bool isNumber(const char *s) { int i=0; while(s[i]==' '){ i++;原创 2014-07-29 16:45:08 · 695 阅读 · 0 评论 -
【线性扫描ijk_贪心】candy 最少蛋糕分配、Trapping Rain water
Candy Total Accepted: 14466 Total Submissions: 78095My SubmissionsThere are N children standing in a line. Each child is assigned a rating value.You are giving candies to these childre原创 2014-08-01 21:43:05 · 696 阅读 · 0 评论 -
【数据结构之List::iterator】leetcode LRUCache
class LRUCache{public:int cap;typedef pair node; typedef list::iterator It; list cache; map cursor;LRUCache(int capacity) {cap=capacity;} int get(int key)原创 2014-07-13 01:02:50 · 647 阅读 · 0 评论 -
【线性扫描 while ijk】总结
Longest Valid Parentheses原创 2014-08-01 22:07:30 · 578 阅读 · 0 评论 -
【双层loop】题型总结
class Solution {public: vector spiralOrder(vector > &matrix) { vector res; int x=-1,y=0;/// 巧妙设置起点 int n=matrix.size(); if(n==0) return res; int m=matrix[原创 2014-08-02 00:42:09 · 692 阅读 · 0 评论 -
【双数组二分法+控制划分点】两有序数组取第k小数
Median of Two Sorted Arrays Total Accepted: 16280 Total Submissions: 95001My SubmissionsThere are two sorted arrays A and B of size m and n respectively. Find the median of the two sorte原创 2014-08-01 22:42:10 · 886 阅读 · 1 评论 -
【Ksum】求和问题总结(leetcode 2Sum, 3Sum, 4Sum, K Sum)
人 sigmainfy — http://tech-wonderland.net/blog/summary-of-ksum-problems.html前言:做过leetcode的人都知道, 里面有2sum, 3sum(closest), 4sum等问题, 这些也是面试里面经典的问题, 考察是否能够合理利用排序这个性质, 一步一步得到高效的算法. 经过总结, 本人觉得转载 2014-11-14 07:04:24 · 1731 阅读 · 0 评论 -
【区间查询_树状数组、线段树、次方数组】最大矩形
线段树(quanclass Solution {public: #define MAXN 0x7fffffff ////线段树 struct tree{ vector > arr; int n; void init(const vector &s){ n=s.size();原创 2014-08-02 15:44:21 · 783 阅读 · 1 评论