算法积累
文章平均质量分 76
Orange橘子洲头
不积跬步 无以至千里 不积小流 无以成江海
展开
-
Leetcode 173 Binary Search Tree Iterator 二叉查找树迭代器
实现一个适用于二叉查找树的迭代器,该迭代器通过二叉查找树的根结点来实例化。调用next()返回二叉查找树中的最小的元素。next()和hasNext()运行的平均时间复杂度为O(1),空间复杂度为O(h),其中h是树的高度。原创 2015-08-04 18:27:43 · 4146 阅读 · 1 评论 -
Leetcode 131 Palindrome Partitioning 回文分割
给出一个字符串s,对s进行分割,使得每一个子串都是一个回文串,返回s所有可能的回文分割原创 2015-07-23 18:30:03 · 1099 阅读 · 0 评论 -
Leetcode 162 Find Peak Element 查找峰值元素(极大值)
给出一个不含重复元素的数组num,找出其中的峰值元素(极大值)并返回其索引(下标)值.原创 2015-08-04 00:14:59 · 4157 阅读 · 3 评论 -
Leetcode 130 Surrounded Regions
给出一个2D图板,又字符'X'和'O'组成,捕捉被'X'包围的区域。将被'X'包围的区域全部置为'X'就是对这个区域进行“逮捕”。原创 2015-07-22 22:14:47 · 374 阅读 · 0 评论 -
Leetcode 210 Course Schedule II 课程表II
你需要上n个课程,标记为0~n-1。有些课程有前导课,比如你要上课程0必须先上课程1,我们用一个整数对[0,1]来表示。给出课程的总数和一系列的课程先导关系对,返回可以上完所有的课程的上课顺序。可能存在多种正确的顺序,你只需要返回其中一种即可。如果不可能上完所有课程,返回一个空数组。原创 2015-08-14 16:29:04 · 2207 阅读 · 0 评论 -
Leetcode 208 Implement Trie (Prefix Tree) 实现字典树 (前缀字典树)
实现一个`Trie字典树`,实现 `insert` `search` `startsWith` 方法。原创 2015-08-14 11:27:41 · 1288 阅读 · 0 评论 -
Leetcode 152 Maximum Product Subarray 子数组最大乘积
在数组(至少包含一个元素)中找到一个连续的子数组,使得该子数组元素的乘积最大。原创 2015-08-03 15:13:39 · 983 阅读 · 0 评论 -
Leetcode 222 Count Complete Tree Nodes 完全二叉树的结点数
给出一个完全二叉树,计算其结点数。原创 2015-08-27 18:45:23 · 427 阅读 · 0 评论 -
Leetcode 207 Course Schedule 课程表
你需要上n个课程,标记为0~n-1。有些课程有前导课,比如你要上课程0必须先上课程1,我们用一个整数对[0,1]来表示。给出课程的总数和一系列的课程先导关系对,判断是否可能上完所有的课程。原创 2015-08-10 18:05:39 · 6354 阅读 · 0 评论 -
Leetcode 209 Minimum Size Subarray Sum
给出一个正整数数组,以及一个正整数s,找到最短的子数组且该子数组的和不小于s。如果不存在这样的子数组,返回0.原创 2015-08-14 13:55:59 · 496 阅读 · 0 评论 -
Leetcode 151 Reverse Words in a String
给出一个字符串,将其中的字符串按单词顺序翻转.给出 s = "the sky is blue",返回 "blue is sky the".原创 2015-08-02 23:46:56 · 480 阅读 · 0 评论 -
Leetcode 150 Evaluate Reverse Polish Notation 反向波兰表示法求值
求解使用[反向波兰表示法](https://en.wikipedia.org/wiki/Reverse_Polish_notation)描述的一个算术表达式的值。原创 2015-08-02 12:48:42 · 589 阅读 · 0 评论 -
Leetcode 226 Invert Binary Tree 反转二叉树
反转一棵二叉树原创 2015-08-28 23:56:59 · 737 阅读 · 0 评论 -
Leetcode 166 Fraction to Recurring Decimal 分数化小数
给出两个整数,一个分子一个分母,将该分数转化为小数并返回字符串。如果小数部分有循环,将其规约在括号内。原创 2015-08-04 16:20:08 · 1241 阅读 · 0 评论 -
Leetcode 179 Largest Number 构造最大数字
给出一组非负数字,对它们进行整理排列使它们构成最大的数字。例如,给出[3, 30, 34, 5, 9],可以构成的最大的数字是9534330。原创 2015-08-05 10:59:22 · 1405 阅读 · 0 评论 -
Leetcode 215 Kth Largest Element in an Array 数组中第k大的元素
在一个无须数组中找出第k大的元素。原创 2015-08-20 14:14:18 · 1376 阅读 · 0 评论 -
Leetcode 216 Combination Sum III 组合求和
找出所有可能的和为n的k项组合,组合的项仅能从1-9中选择,且组合中数字不能重复。原创 2015-08-20 15:30:55 · 830 阅读 · 0 评论 -
Leetcode 213 House Robber II 抢劫最大金额
HouseRobber扩展:抢劫完那条街道上的房子之后,这个贼有找到了实施自己盗窃行动的另一个地点,这样他才不会引来太多注意。这次,这里的搜有房子排成了一个圆圈,这意味着第一个房子和最后一个房子也是挨着的。与此同时,房子的安保系统还是和之前那条街上的一样(不能同时抢劫两所相邻的房子,否则会报警)原创 2015-08-19 23:38:10 · 1249 阅读 · 0 评论 -
Leetcode 212 Word Search II 单词查找
给出一个二维board和一个单词字典,找出board里可以构成的所有字典里的单词。原创 2015-08-19 13:19:23 · 1083 阅读 · 0 评论 -
Leetcode 200 Number of Islands 岛的个数
给出一个2D的地图,由陆地(1)和水(0)组成,数出岛的个数.一个岛被水环绕并且与相邻的陆地连接.你可以假设方阵的四周被水环绕.原创 2015-08-06 15:00:37 · 2443 阅读 · 0 评论 -
Leetcode 137 Single Number II 仅出现一次的数字
给出一个整数数组,除了某个元素外所有元素都出现三次。找出仅出现一次的数字。原创 2015-08-18 10:34:47 · 3875 阅读 · 1 评论 -
Leetcode 199 Binary Tree Right Side View 二叉树右视图
给出一个二叉树,设想你从树的右侧看过来,返回你从上往下可以看到的结点.原创 2015-08-05 21:40:39 · 1384 阅读 · 0 评论 -
Leetcode 187 Repeated DNA Sequences 重复出现的DNA序列
编写一个程序来找到一个DNA分子中出现次数超过一次的长度为10的子序列(子串)。Tags: Hash Table, Bit Manipulation原创 2015-08-05 15:54:22 · 862 阅读 · 0 评论 -
Leetcode 260 Single Number III 仅出现一次的数字
给出一个数组,其中只有两个元素仅出现一次,其余元素均出现两次。找出只出现一次的两个元素。原创 2015-08-18 12:32:21 · 1196 阅读 · 0 评论 -
Leetcode Single Number 扩展
有一个数组,其中有一个元素出现了x次,其余所有元素都出现了y次(x < y),找出这个出现了x次的元素,要求时间复杂度O(n),空间复杂度O(1)。原创 2015-08-18 11:49:30 · 857 阅读 · 0 评论 -
Leetcode 211 Add and Search Word - Data structure design
设计一个数据结构来支持以下两个操作:search(word)既可以查找一个字面上的直接量,也可以查找一个包含a-z和'.'的正则表达式,'.'表示任意字符。原创 2015-08-17 18:08:54 · 716 阅读 · 0 评论 -
Leetcode 198 House Robber 抢劫最大金额
你是一个专业的强盗,计划去抢一条街上的房子。每个房子里都有一定量的钱,唯一限制你抢掉所有房子里的钱的是:相邻的房子的安保系统是连接在一起的,如果相邻的两个房子在同一晚上都被盗的话就会自动报警。给出一系列非负的整数代表每个房子内的金钱数量,计算你今晚不触发报警条件的情况下可以抢到的最多的钱。原创 2015-08-05 17:48:03 · 1914 阅读 · 0 评论 -
Leetcode 136 Single Number 仅出现一次的数字
给出一个整数数组,除了某个元素外所有元素都出现两次。找出仅出现一次的数字。原创 2015-08-17 22:41:26 · 2578 阅读 · 0 评论 -
Leetcode 224 Basic Calculator 基本计算器
实现基本的计算器,计算简单表达式的值。原创 2015-08-28 18:04:52 · 1398 阅读 · 0 评论 -
Leetcode 223 Rectangle Area 矩形区域面积
计算两个矩形所在2D空间内覆盖的区域面积。原创 2015-08-28 17:51:41 · 1303 阅读 · 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 · 697 阅读 · 0 评论 -
114 Flatten Binary Tree to Linked List 二叉树到单链表的扁平化处理
给定一个二叉树,在已有的空间内进行扁平化生成一个单链表原创 2015-06-19 16:56:09 · 777 阅读 · 0 评论 -
hihocoder 47 拓扑排序 · 一
大学的课程是可以自己选择的,唯一限制是我们选课时一些课程之间的顺序关系:有的难度很大的课程可能会有一些前置课程的要求。比如课程A是课程B的前置课程,则要求先学习完A课程,才可以选择B课程。大学的教务收集了所有课程的顺序关系,但由于系统故障,可能有一些信息出现了错误。现在把信息都告诉你,请你判断一下这些信息是否有误。错误的信息主要是指出现了"课程A是课程B的前置课程,同时课程B也是课程A的前置课程"这样的情况。原创 2015-05-28 14:05:39 · 862 阅读 · 0 评论 -
Leetcode 98 Validate Binary Search Tree 验证二叉查找树
给出一个二叉树,判断其是否是合法的二叉查找树。原创 2015-05-27 11:55:58 · 2683 阅读 · 0 评论 -
Leetcode 96 Unique Binary Search Trees
给出n,返回结构上不重复的二叉查找树的个数(每个二叉树都存储1,2,3,...,n)。 举例,给出n=3,共有5种各异的二叉查找树,返回5。原创 2015-05-26 16:29:36 · 361 阅读 · 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 · 564 阅读 · 0 评论 -
Leetcode 78 Subsets + 90 Subsets II 子集
给出一个不包含重复元素的整形数组,返回所有可能的子集。注意:子集中的元素要以非递减顺序排序。结果集中不能有重复的子集。原创 2015-05-12 11:56:26 · 467 阅读 · 0 评论 -
leetcode 73 Set Matrix Zeros 矩阵置零
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.m x n的数组,如果某元素是0,则将其所在的行和列的所有元素置零。原创 2015-05-05 17:55:51 · 1505 阅读 · 0 评论 -
Leetcode 89 Gray Code
Gray code 是指一个二进制数字系列,在这样的系列中,两个连续的数字有且只有一个二进制位是不同的。给出一个非负整数n,代表二进制码的总位数,打印出gray code序列。Gray code的序列以0开始。例如:给出n = 2,返回[0, 1, 3, 2]。其gray code 序列是:00 - 001 - 111 - 310 - 2原创 2015-05-13 22:46:28 · 517 阅读 · 0 评论 -
Leetcode 74 Search a 2D Matrix 有序二维数组二叉查找
Leetcode 74 Search a 2D Matrix在一个二维数组中查找是否存在某元素,该二维数组具有以下特性: - 每一行中的元素都是递增的 - 每一行行中最小的元素比上一行最大的元素大原创 2015-05-06 01:42:23 · 542 阅读 · 0 评论