![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习
文章平均质量分 70
Orange橘子洲头
不积跬步 无以至千里 不积小流 无以成江海
展开
-
2016届校招 百度WEB前端研发【实习生+提前批】面试经历
2016届校招,实习生面试,后转为提前批面试,拿到提前批offer原创 2015-09-08 18:00:49 · 4292 阅读 · 0 评论 -
Leetcode 211 Add and Search Word - Data structure design
设计一个数据结构来支持以下两个操作:search(word)既可以查找一个字面上的直接量,也可以查找一个包含a-z和'.'的正则表达式,'.'表示任意字符。原创 2015-08-17 18:08:54 · 664 阅读 · 0 评论 -
Leetcode 173 Binary Search Tree Iterator 二叉查找树迭代器
实现一个适用于二叉查找树的迭代器,该迭代器通过二叉查找树的根结点来实例化。调用next()返回二叉查找树中的最小的元素。next()和hasNext()运行的平均时间复杂度为O(1),空间复杂度为O(h),其中h是树的高度。原创 2015-08-04 18:27:43 · 4081 阅读 · 1 评论 -
Leetcode 166 Fraction to Recurring Decimal 分数化小数
给出两个整数,一个分子一个分母,将该分数转化为小数并返回字符串。如果小数部分有循环,将其规约在括号内。原创 2015-08-04 16:20:08 · 1190 阅读 · 0 评论 -
Leetcode 131 Palindrome Partitioning 回文分割
给出一个字符串s,对s进行分割,使得每一个子串都是一个回文串,返回s所有可能的回文分割原创 2015-07-23 18:30:03 · 1053 阅读 · 0 评论 -
Leetcode 162 Find Peak Element 查找峰值元素(极大值)
给出一个不含重复元素的数组num,找出其中的峰值元素(极大值)并返回其索引(下标)值.原创 2015-08-04 00:14:59 · 4038 阅读 · 3 评论 -
Leetcode 210 Course Schedule II 课程表II
你需要上n个课程,标记为0~n-1。有些课程有前导课,比如你要上课程0必须先上课程1,我们用一个整数对[0,1]来表示。给出课程的总数和一系列的课程先导关系对,返回可以上完所有的课程的上课顺序。可能存在多种正确的顺序,你只需要返回其中一种即可。如果不可能上完所有课程,返回一个空数组。原创 2015-08-14 16:29:04 · 2163 阅读 · 0 评论 -
Leetcode 130 Surrounded Regions
给出一个2D图板,又字符'X'和'O'组成,捕捉被'X'包围的区域。将被'X'包围的区域全部置为'X'就是对这个区域进行“逮捕”。原创 2015-07-22 22:14:47 · 357 阅读 · 0 评论 -
Leetcode 151 Reverse Words in a String
给出一个字符串,将其中的字符串按单词顺序翻转.给出 s = "the sky is blue",返回 "blue is sky the".原创 2015-08-02 23:46:56 · 468 阅读 · 0 评论 -
Leetcode 208 Implement Trie (Prefix Tree) 实现字典树 (前缀字典树)
实现一个`Trie字典树`,实现 `insert` `search` `startsWith` 方法。原创 2015-08-14 11:27:41 · 1234 阅读 · 0 评论 -
Leetcode 207 Course Schedule 课程表
你需要上n个课程,标记为0~n-1。有些课程有前导课,比如你要上课程0必须先上课程1,我们用一个整数对[0,1]来表示。给出课程的总数和一系列的课程先导关系对,判断是否可能上完所有的课程。原创 2015-08-10 18:05:39 · 6306 阅读 · 0 评论 -
Leetcode 209 Minimum Size Subarray Sum
给出一个正整数数组,以及一个正整数s,找到最短的子数组且该子数组的和不小于s。如果不存在这样的子数组,返回0.原创 2015-08-14 13:55:59 · 471 阅读 · 0 评论 -
Leetcode 152 Maximum Product Subarray 子数组最大乘积
在数组(至少包含一个元素)中找到一个连续的子数组,使得该子数组元素的乘积最大。原创 2015-08-03 15:13:39 · 938 阅读 · 0 评论 -
Leetcode 260 Single Number III 仅出现一次的数字
给出一个数组,其中只有两个元素仅出现一次,其余元素均出现两次。找出只出现一次的两个元素。原创 2015-08-18 12:32:21 · 1157 阅读 · 0 评论 -
Leetcode 179 Largest Number 构造最大数字
给出一组非负数字,对它们进行整理排列使它们构成最大的数字。例如,给出[3, 30, 34, 5, 9],可以构成的最大的数字是9534330。原创 2015-08-05 10:59:22 · 1380 阅读 · 0 评论 -
Leetcode 136 Single Number 仅出现一次的数字
给出一个整数数组,除了某个元素外所有元素都出现两次。找出仅出现一次的数字。原创 2015-08-17 22:41:26 · 2508 阅读 · 0 评论 -
Leetcode 216 Combination Sum III 组合求和
找出所有可能的和为n的k项组合,组合的项仅能从1-9中选择,且组合中数字不能重复。原创 2015-08-20 15:30:55 · 805 阅读 · 0 评论 -
Leetcode 215 Kth Largest Element in an Array 数组中第k大的元素
在一个无须数组中找出第k大的元素。原创 2015-08-20 14:14:18 · 1350 阅读 · 0 评论 -
Leetcode 213 House Robber II 抢劫最大金额
HouseRobber扩展:抢劫完那条街道上的房子之后,这个贼有找到了实施自己盗窃行动的另一个地点,这样他才不会引来太多注意。这次,这里的搜有房子排成了一个圆圈,这意味着第一个房子和最后一个房子也是挨着的。与此同时,房子的安保系统还是和之前那条街上的一样(不能同时抢劫两所相邻的房子,否则会报警)原创 2015-08-19 23:38:10 · 1211 阅读 · 0 评论 -
Leetcode 212 Word Search II 单词查找
给出一个二维board和一个单词字典,找出board里可以构成的所有字典里的单词。原创 2015-08-19 13:19:23 · 1048 阅读 · 0 评论 -
Leetcode 198 House Robber 抢劫最大金额
你是一个专业的强盗,计划去抢一条街上的房子。每个房子里都有一定量的钱,唯一限制你抢掉所有房子里的钱的是:相邻的房子的安保系统是连接在一起的,如果相邻的两个房子在同一晚上都被盗的话就会自动报警。给出一系列非负的整数代表每个房子内的金钱数量,计算你今晚不触发报警条件的情况下可以抢到的最多的钱。原创 2015-08-05 17:48:03 · 1866 阅读 · 0 评论 -
Leetcode 200 Number of Islands 岛的个数
给出一个2D的地图,由陆地(1)和水(0)组成,数出岛的个数.一个岛被水环绕并且与相邻的陆地连接.你可以假设方阵的四周被水环绕.原创 2015-08-06 15:00:37 · 2422 阅读 · 0 评论 -
Leetcode 187 Repeated DNA Sequences 重复出现的DNA序列
编写一个程序来找到一个DNA分子中出现次数超过一次的长度为10的子序列(子串)。Tags: Hash Table, Bit Manipulation原创 2015-08-05 15:54:22 · 816 阅读 · 0 评论 -
Leetcode 137 Single Number II 仅出现一次的数字
给出一个整数数组,除了某个元素外所有元素都出现三次。找出仅出现一次的数字。原创 2015-08-18 10:34:47 · 3809 阅读 · 1 评论 -
Leetcode 199 Binary Tree Right Side View 二叉树右视图
给出一个二叉树,设想你从树的右侧看过来,返回你从上往下可以看到的结点.原创 2015-08-05 21:40:39 · 1346 阅读 · 0 评论 -
Leetcode Single Number 扩展
有一个数组,其中有一个元素出现了x次,其余所有元素都出现了y次(x < y),找出这个出现了x次的元素,要求时间复杂度O(n),空间复杂度O(1)。原创 2015-08-18 11:49:30 · 819 阅读 · 0 评论 -
Leetcode 150 Evaluate Reverse Polish Notation 反向波兰表示法求值
求解使用[反向波兰表示法](https://en.wikipedia.org/wiki/Reverse_Polish_notation)描述的一个算术表达式的值。原创 2015-08-02 12:48:42 · 573 阅读 · 0 评论 -
Leetcode 226 Invert Binary Tree 反转二叉树
反转一棵二叉树原创 2015-08-28 23:56:59 · 720 阅读 · 0 评论 -
Leetcode 224 Basic Calculator 基本计算器
实现基本的计算器,计算简单表达式的值。原创 2015-08-28 18:04:52 · 1338 阅读 · 0 评论 -
Leetcode 117 Populating Next Right Pointers in Each Node II 二叉树填充next指针指向右侧结点 II
116题引申,对于任意树填充next指针原创 2015-07-01 16:36:04 · 433 阅读 · 0 评论 -
Leetcode 116 Populating Next Right Pointers in Each Node 二叉树填充next指针指向右侧结点
填充二叉树,使得每个结点的next指针指向其右侧的结点。如果没有右侧结点,next指针指向NULL。初始情况下,所有的next指针都指向NULL。注意:只能使用常数级的额外空间。假设二叉树是完全二叉树。原创 2015-07-01 14:45:36 · 655 阅读 · 0 评论 -
Leetcode 109 Convert Sorted List to Binary Search Tree 有序单链表构造平衡二插查找树
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.给出一个有序的单链表(递增),构造出一个平衡二叉查找树。原创 2015-06-05 12:00:56 · 675 阅读 · 0 评论 -
二叉树相关公用方法
刷题过程中经常用到二叉树相关的方法,比如使用数据初始化一棵二叉树、中序遍历……以前特别傻的做法都是main方法里写死几个结点,然后手动把他们链接起来。后来多次在leetcode上遇到某个测试用例通不过,然后那个用例的输入特别长,手动构造太麻烦了,还特别容易出错,当然也显得很低级,于是就想把一些常用的公用方法写一下,哪怕只是为了刷题的时候测试代码方便呢。当然,代码仅仅为了不做重复的工作,少写些重复的代码原创 2015-06-24 21:46:23 · 447 阅读 · 0 评论 -
114 Flatten Binary Tree to Linked List 二叉树到单链表的扁平化处理
给定一个二叉树,在已有的空间内进行扁平化生成一个单链表原创 2015-06-19 16:56:09 · 756 阅读 · 0 评论 -
单一职责原则+开放-封闭原则+依赖倒转原则+里氏代换原则【设计模式】【学习总结】
面向对象设计中的各种原则:单一职责原则SRP开放-封闭原则OCP依赖倒转原则里氏代换原则LSP原创 2015-05-28 17:23:52 · 405 阅读 · 0 评论 -
hihocoder 47 拓扑排序 · 一
大学的课程是可以自己选择的,唯一限制是我们选课时一些课程之间的顺序关系:有的难度很大的课程可能会有一些前置课程的要求。比如课程A是课程B的前置课程,则要求先学习完A课程,才可以选择B课程。大学的教务收集了所有课程的顺序关系,但由于系统故障,可能有一些信息出现了错误。现在把信息都告诉你,请你判断一下这些信息是否有误。错误的信息主要是指出现了"课程A是课程B的前置课程,同时课程B也是课程A的前置课程"这样的情况。原创 2015-05-28 14:05:39 · 839 阅读 · 0 评论 -
简单工厂模式 策略模式【设计模式】【学习总结】
使用简单工厂模式+策略模式结合的方法有如下优点:1. 降低耦合,客户端只需要调用Context即可(策略模式的优点);2. 封装了变化,简化客户端职责,减轻了客户端的压力(简单工厂模式的优点);3. 简化单元测试,每个具体算法实现可以单独进行单元测试(策略模式的优点)原创 2015-05-21 15:24:35 · 440 阅读 · 0 评论 -
Leetcode 96 Unique Binary Search Trees
给出n,返回结构上不重复的二叉查找树的个数(每个二叉树都存储1,2,3,...,n)。 举例,给出n=3,共有5种各异的二叉查找树,返回5。原创 2015-05-26 16:29:36 · 342 阅读 · 0 评论 -
Leetcode 98 Validate Binary Search Tree 验证二叉查找树
给出一个二叉树,判断其是否是合法的二叉查找树。原创 2015-05-27 11:55:58 · 2655 阅读 · 0 评论 -
Leetcode 91 Decode Ways
一段仅包含英文A-Z字符的信息被按如下映射编码成了一个数字串: 'A' -> 1 'B' -> 2 ... 'Z' -> 26给出一个编码后的数字串,求总共有几种解码方式。示例:编码后的数字串为"12",他可以以AB(1 2)或L(12)的方式解码。原创 2015-05-14 21:10:30 · 549 阅读 · 0 评论