自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在路上的学习者

记录生活,定格瞬间

  • 博客(48)
  • 资源 (18)
  • 收藏
  • 关注

原创 Binary Tree Zigzag Level Order Traversal

思路: 层次化遍历二叉树,但要控制每次进入每层节点的顺序,通过栈和层数来控制。 时间复杂度O(N),空间复杂度O(N)。

2015-05-31 16:36:53 343

原创 Recover Binary Search Tree

思路:

2015-05-30 22:29:15 436

原创 DFS&Iteration Binary Tree Postorder Traversal

思路: 二叉树的后序遍历。

2015-05-30 21:45:27 424

原创 DFS&Iteration Binary Tree Preorder Traversal

思路: 二叉树的前序遍历。

2015-05-30 20:35:17 321

原创 DFS&Iteration Binary Tree Inorder Traversal

思路: 二叉树的中序遍历。

2015-05-30 20:11:50 316

原创 Manipulation Multiply Strings

思路: 大整数乘法。模拟。

2015-05-29 10:07:24 315

原创 Manipulation Divide Two Integers

思路: 只能使用加减法、位运算来实现除法。 这里使用了位运算。

2015-05-26 16:23:51 282

原创 LeetCode Search for a Range

思路: 二分法找到nums中得target,然后左右扩展,返回坐标。

2015-05-24 15:07:26 402

原创 LeetCode Sort Colors

思路: 类似荷兰国旗问题。按0,1,2分成3个区域。

2015-05-24 14:18:14 286

原创 Simulation Happy Number

思路: 模拟法。拆分成位数,判断平方和是否为1 以及 该数是否曾经出现过,为1返回true,曾经出现过返回false。

2015-05-24 11:01:11 349

原创 Bit Manipulation Reverse Bits

思路: 位操作,8ms。

2015-05-21 17:23:56 333

原创 Bit Manipulation Number of 1 Bits

思路: 方法一:每次看最低位,判断然后右移一位。 方法二:二进制加减法性质。

2015-05-21 16:54:09 504

原创 Binary_Search Sqrt(x)

思路: 二分法,时间复杂度O(logN),空间复杂度O(1)。 从left = 1, right = x/2出发二分查找res。

2015-05-21 16:36:42 465

原创 Simulation Implement strStr()

思路: 方法一: 方法二:

2015-05-20 17:11:36 446

转载 Linux find命令用法小结

本文转载自:《Linux find命令用法小结》 find是个使用频率比较高的命令。常常用它在系统特定目录下,查找具有某种特征【名字类型属主权限等】的文件。 find命令的格式: find  [-path ..] -options [-print -exec -ok] path:要查找的目录路径。 ~ 表示$HOME目录 . 表示当前目录 / 表示根目录

2015-05-20 16:04:21 468

原创 筛法 Count Primes

思路: References给出了参考的方法:埃拉托斯特尼筛法。 时间复杂度O(N)

2015-05-20 15:25:48 441

原创 LeetCode Count and Say Simulation

思路: 根据第一个推出第二个,第二个推出第三个,以此类推。 时间复杂度为O(N*M),N为轮数,M为每一轮字符串长度。 空间复杂度为O(M)。

2015-05-20 14:14:32 436

原创 DP Palindrome Partitioning II

思想: 方法一:DFS,TLE 方法二:DP,AC

2015-05-20 11:19:02 405

原创 DFS Palindrome Partitioning

思路: DFS。 相当于需要把一个串分割成若干子串,每一个子串都必须是回文。 那么从start开始分,如果[s[start],s[i]]是回文,再从start+i开始分,递归下去。 class Solution { private: bool isPalindrome(const string s, int start, int end) { while(start

2015-05-19 21:24:34 405

原创 DFS Surrounded Regionss

思路: 连通问题。 直接从四周找‘O’,然后dfs找到所有的连通区域进行标记。 被标记的最后都是可以访问的到的,标记为‘X’; 其余的'O'都是访问不到的,还是‘O’。 class Solution { private: int row; int col; void expand(int x, int y, vector>& board) {

2015-05-19 18:36:35 323

原创 DFS Binary Tree Maximum Path Sum

思路: DFS。时间复杂度O(N),空间复杂度O(logN)。 这道题不好想,题目要求从任一节点开始到任一节点结束的sum和最大。 全局保存一个max_sum,到一个节点就看是否能更新它。 到一个节点,比较4种搭配: 如果单独该节点;//左右子树都为负; 如果其左子树+该节点;//右子树为负; 如果其右子树+该节点;//左子树为负; 如果其左右子树+该节点;//左右子树都为非负;

2015-05-18 15:25:44 574

原创 DFS Sum Root to Leaf Numbers

思路: DFS。 时间复杂度O(N),空间复杂度O(logN)。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(

2015-05-18 14:54:10 379

原创 BFS Word Ladder II

思路: 记录每个节点的父节点,BFS完成后通过DFS找到所有的路径。 第一次MLE。 class Solution { private: unordered_map> father; vector> res; void dfs(vector &path, string &start, string &end) { path.push_

2015-05-17 21:28:45 471

原创 BFS Word Ladder

思路: BFS。 注意wordDict的不断缩小,否则TLE。 每到一层,将所有可以转换的word加入到path中,count用来记录每一层是否遍历完,如果遍历完,用下一层转换的word的个数来更新count,且更新level,准备进入下一层搜索。 如果搜索到endWord,直接返回,路径长度一定是最小的。 class Solution { public: int lad

2015-05-17 15:46:37 599

原创 遍历 Valid Palindrome

思路: 时间复杂度O(N),空间复杂度O(N)。 class Solution { public: bool isPalindrome(string s) { if(s.empty()) return true; vector v; for(int i = 0; i < s.size(); ++i) { if(is

2015-05-17 13:49:00 329

原创 遍历 Best Time to Buy and Sell Stock III

思路: 题目要求最多有两次交易。 假设有一次选择获得的收益最高: 那么一定可以找到一天i(0 所以这里设2个状态数组f,g: 一个是正向记录[0,i]的最大收益,一个反向记录[i,n-1]的最大收益,最后找到max(f[i]+g[i])即可。 class Solution { public: int maxProfit(vector& prices) { co

2015-05-16 16:12:04 360

原创 Greedy Best Time to Buy and Sell Stock II

思路: 贪心,两两比较,只要递增,就可以加进收入中。 需要简单证明一下贪心的正确性:为什么两两比较就可以?如果隔很多天差值很大呢? 假设给定:a, b, c,分别代表第1天,第2天,第3天股票价格, c - a = 100; if b if b > c,会将b-a计入,相等于两两比较,成立。 class Solution { public: int maxProfit(ve

2015-05-15 21:35:26 298

原创 遍历 Best Time to Buy and Sell Stock

思路: 时间复杂度O(N),空间复杂度O(1)。 总是希望差值最大,cur_min记录当前的最小值。 class Solution { public: int maxProfit(vector& prices) { if(prices.size() == 0) return 0; size_t size = prices.size();

2015-05-15 20:50:17 248

原创 DP Triangle

思路: 时间复杂度O(N*N),空间复杂度O(1)。 刚开始理解错了,每往下走一行,只能往下面或者往下面的前面走,不能往下面的后面走。 Example: row0:2 row1:3 4 row2:6 5 7 row3:1 2 8 3 5只能选2 或者 8,而不能选1。 class Solution { public: int minimumTotal(vector > &

2015-05-15 20:21:11 422

原创 遍历 Populating Next Right Pointers in Each Node II

思路: 跟上一题思路一样:只要上一层next指针串起来了该层所有对象,那么下一层就可以串起来。 /** * Definition for binary tree with next pointer. * struct TreeLinkNode { * int val; * TreeLinkNode *left, *right, *next; * TreeLinkNode(int

2015-05-15 15:03:10 378

原创 DFS&遍历 Populating Next Right Pointers in Each Node

思路: 方法一:DFS。 方法二:遍历

2015-05-15 10:31:38 529

原创 迭代 Flatten Binary Tree to Linked List

思路: 迭代。

2015-05-14 19:22:23 292

原创 DFS Construct Binary Tree from Inorder and Postorder Traversal

思路: DFS,与上一题思考方式一样,这次的root出现在Post-Order的末尾。 Example: In-Order: 1 2 3 4 5 6 Post-Order: 1 3 2 6 5 4 先从Post-Order末尾找到root,这里是4,然后在In-Order中找到root的位置,左半部分就是root的左子树的元素,右半部分就是root右子树的所有元素,这里1,2,3

2015-05-14 16:47:43 379

原创 DFS Construct Binary Tree from Preorder and Inorder Traversal

思路: DFS。 Example: Pre-Order:4 2 1 3 5 6 In-Order:1 2 3 4 5 6 先从Pre-Order中找到的第一个肯定是root,这里是4,然后从In-Order中以4为界,左边是root的左子树的元素,右边是root的右子树的元素,这里1,2,3是root的左子树的元素,5,6是root的右子树的元素,依次类推,再构造root

2015-05-14 16:13:57 316

原创 BFS Binary Tree Level Order Traversal II

思路: BFS。 上一题的基础上反转一下结果数组即可。 std:reverse() Reverse range Reverses the order of the elements in the range [first,last). #include template void reverse (BidirectionalIterator first, Bi

2015-05-14 14:42:39 404

原创 BFS Binary Tree Level Order Traversal

思路: BFS。 两个队列,一个保存当前层的所有节点,一个保存下一层的所有节点。 std::swap()函数: C++98: , C++11: 在C++ 98中的定义: // defined in before C++11 template void swap (T& a, T& b); 在C++ 11中的定义: non-arra

2015-05-14 14:31:01 385

原创 DFS Validate Binary Search Tree

思路: DFS。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} *

2015-05-14 11:26:47 343

原创 DFS Unique Binary Search Trees II

思路:DFS 依次以k为root,其中1= 当k为root时: [1,k-1]构成其左子树相应的root;  [k+1,n]构成其右子树相应的root; 递归的构建。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * T

2015-05-14 11:09:06 292

原创 DP Unique Binary Search Trees

思路: DP 关键是要总结出二叉查找树个数的规律。

2015-05-11 22:15:41 428

原创 DFS Restore IP Addresses

思路: 注意的地方: 去掉前缀0的ip,但允许单个0; 要剪枝,判断下面剩下的数字的个数能否构成全是3位的ip 或 全是1位的ip,否则MLE; class Solution { private: void dfs(string s, string ip, vector &res, int step, size_t cur) { if(cur == s.size()

2015-05-11 21:21:09 527

庖丁解牛中文分词工具

庖丁系统是个完全基于lucene的中文分词系统,它就是重新建了一个analyzer,叫做PaodingAnalyzer,这个analyer的核心任务就是生成一个可以切词TokenStream。

2014-03-25

hadoop api

hadoop api,可以快速方便的查询,利于学习。

2014-03-14

hbase权威指南

hbase权威指南,英文高清PDF格式,是入门与学习hbase的必备书籍。

2014-02-08

软件工程文档模板

软件工程文档模板,包括可行性研究报告、项目开发计划、需求规格说明书、概要设计说明书、详细设计说明书等十三个章节。

2014-02-08

php中文参考手册

php中文参考手册,chm格式,包括入门指引,安装于配置,语言参考,安全,特点,函数参考等章节。

2014-02-08

JSF控件详细说明

jsf控件的详细说明,内涵2个word文档,说明非常详细,适用,开发必备。

2013-01-28

软件工程第8版课后题答案(英文)

软件工程第8版课后题答案(英文),pdf格式

2013-01-28

Navicat MySQL

Navicat for MySQL,快速、可靠的数据库管理工具

2012-07-17

spring-3.2.0.M1

spring 3.2.0.M1,ssh架构必备

2012-07-17

hibernate jar包

hibernate,版本4.1.1.Final,框架操作数据库

2012-07-17

mysql jar包

java操作mysql数据库的驱动,版本5.1.6

2012-07-17

jmf的jar包

实现java多媒体编程的jar包,导入lib即可。

2012-07-13

apache-tomcat7.0

apache-tomcat7.0搭载环境。

2012-07-13

pager-taglib-2.0

可以用于实现自定义风格的分页技术。省去了一些繁琐的工作。

2012-07-13

Core Java Volume I

Java2核心技术(卷1),适合初学者。内容丰富,易于后期提高。

2012-07-13

简易记事本

主要实现功能: 文件(新建,打开,保存,另存为,退出) 编辑(撤销,剪贴,粘贴,复制,删除,查找,查找下一个,替换,全选,日期时间) 格式(自动换行,字体) 查看(状态栏) 帮助(关于记事本) 统计单词

2012-04-14

C#强大画图板(win7)

不仅实现了基本的绘图功能,而且实现了很多win7画图板类似的功能,欢迎初学者当做经典范例学习与提高自己的coding标准。

2012-03-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除