lintcode
文章平均质量分 66
lz1997
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LintCode-贪心-主元素
主元素 给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。注意事项 You may assume that the array is non-empty and the majority number always exist in the array.样例 给出数组[1,1,1,1,2,2,2],返回 1原创 2017-10-09 21:59:07 · 257 阅读 · 0 评论 -
Lintcode-贪心-最大子数组和最小子数组
最大子数组 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。注意事项 子数组最少包含一个数样例 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6最小子数组 给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。注意事项 子数组最少包含一个数字样例 给出数组[1, -1, -2, 1],返回 -3原创 2017-10-09 21:42:21 · 652 阅读 · 0 评论 -
LintCode—贪心—落单的数
落单的数 给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。样例 给出 [1,2,2,1,3,4,3],返回 4原创 2017-10-09 22:19:14 · 242 阅读 · 0 评论 -
Lintcode-动态规划-数字三角形
数字三角形 给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。注意事项 如果你只用额外空间复杂度O(n)的条件下完成可以获得加分,其中n是数字三角形的总行数。样例 比如,给出下列数字三角形:[ [2], [3,4], [6,5,7], [4,1,8,3] ] 从顶到底部的最小路径和为11 ( 2 + 3 + 5 + 1 = 11)。原创 2017-10-29 18:26:38 · 323 阅读 · 0 评论 -
Lintcode-动态规划-最小路径和
最小路径和 给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。注意事项 你在同一时间只能向下或者向右移动一步原创 2017-10-29 19:17:15 · 389 阅读 · 0 评论 -
Lintcode-动态规划-不同路径
不同的路径 有一个机器人的位于一个 m × n 个网格左上角。机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。问有多少条不同的路径?注意事项 n和m均不超过100样例 给出 m = 3 和 n = 3, 返回 6.给出 m = 4 和 n = 5, 返回 35.原创 2017-10-29 19:44:55 · 438 阅读 · 0 评论 -
Lintcode-动态规划-不同路径二
不同的路径 II "不同的路径" 的跟进问题:现在考虑网格中有障碍物,那样将会有多少条不同的路径?网格中的障碍和空位置分别用 1 和 0 来表示。注意事项 m 和 n 均不超过100样例 如下所示在3x3的网格中有一个障碍物:[ [0,0,0], [0,1,0], [0,0,0] ] 一共有2条不同的路径从左上角到右下角。原创 2017-10-29 20:36:54 · 301 阅读 · 0 评论 -
LintCode-分治-二叉树中的最大路径和
二叉树中的最大路径和 给出一棵二叉树,寻找一条路径使其路径和最大,路径可以在任一节点中开始和结束(路径和为两个节点之间所在路径上的节点权值之和)样例 给出一棵二叉树: 1 / \ 2 3返回 6原创 2017-09-28 16:36:33 · 1636 阅读 · 0 评论 -
LintCode-分治-验证二叉查找树
验证二叉查找树 给定一个二叉树,判断它是否是合法的二叉查找树(BST)一棵BST定义为:节点的左子树中的值要严格小于该节点的值。节点的右子树中的值要严格大于该节点的值。左右子树也必须是二叉查找树。一个节点的树也是二叉查找树。样例 一个例子: 2 / \1 4 / \ 3 5上述这棵二叉树序列化为 {2,1,4,#,#,3,5}.原创 2017-09-28 16:25:17 · 284 阅读 · 0 评论 -
LintCode-分治-合并k个排序链表
合并k个排序链表合并k个排序链表,并且返回合并后的排序链表。尝试分析和描述其复杂度。样例 给出3个排序链表[2->4->null,null,-1->null],返回 -1->2->4->null原创 2017-09-28 16:22:08 · 997 阅读 · 0 评论 -
lintcode-递归-简单-245子树
子树 有两个不同大小的二进制树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T1的子树。注意事项 :若 T1 中存在从节点 n 开始的子树与 T2 相同,我们称 T2 是 T1 的子树。也就是说,如果在 T1 节点 n 处将树砍断,砍断的部分将与 T2 完全相同。样例 下面的例子中 T2 是 T1 的子树: 1 3 / \ / T1 = 2 3 T2 = 4原创 2017-08-31 21:21:41 · 496 阅读 · 0 评论 -
Lintcode-递归-177 把排序数组转换为高度最小的二叉搜索树
把排序数组转换为高度最小的二叉搜索树 给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。 注意事项 :There may exist multiple valid solutions, return any of them.样例 给出数组 [1,2,3,4,5,6,7], 返回 4 / \ 2 6 / \ / \1 3 5 7原创 2017-09-01 00:00:43 · 251 阅读 · 0 评论 -
LintCode-分治-Expression Expand
Expression Expand Given an expression s includes numbers, letters and brackets. Number represents the number of repetitions inside the brackets(can be a string or another expression).Please expand expression to be a string.Example s = abc3[a] return ab原创 2017-09-26 16:47:02 · 373 阅读 · 0 评论 -
Lintcode-递归-97 二叉树的最大深度
二叉树的最大深度 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5这个二叉树的最大深度为3.原创 2017-09-02 20:02:48 · 386 阅读 · 0 评论 -
Lintcode-递归-93 平衡二叉树
平衡二叉树 给定一个二叉树,确定它是高度平衡的。对于这个问题,一棵高度平衡的二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过1。 样例 给出二叉树 A={3,9,20,#,#,15,7}, B={3,#,20,15,7}A) 3 B) 3 / \ \ 9 20 20 / \ / \ 15 7 15原创 2017-09-02 20:22:48 · 227 阅读 · 0 评论 -
lintcode-分治-x的n次幂
x的n次幂 实现 pow(x,n)注意事项 不用担心精度,当答案和标准输出差绝对值小于1e-3时都算正确样例 Pow(2.1, 3) = 9.261Pow(0, 1) = 0Pow(1, 0) = 1原创 2017-09-28 15:03:22 · 857 阅读 · 0 评论 -
lintcode-递归-前中后序遍历
二叉树的前序遍历 给出一棵二叉树,返回其节点值的前序遍历。二叉树的中序遍历 给出一棵二叉树,返回其节点值的中序遍历二叉树的后序遍历 给出一棵二叉树,返回其节点值的后序遍历原创 2017-09-03 17:57:39 · 232 阅读 · 0 评论 -
LintCode-分治-寻找旋转排序数组中的最小值 II
寻找旋转排序数组中的最小值 II 假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。你需要找到其中最小的元素。数组中可能存在重复的元素。 注意事项 The array may contain duplicates.样例 给出[4,4,5,6,7,0,1,2] 返回 0原创 2017-09-28 16:08:02 · 368 阅读 · 0 评论 -
Lintcode-动态规划-最长上升连续子序列
最长上升连续子序列 给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上升连续子序列可以定义为从右到左或从左到右的序列。)注意事项 time样例 给定 [5, 4, 2, 1, 3], 其最长上升连续子序列(LICS)为 [5, 4, 2, 1], 返回 4.给定 [5, 1, 2, 3, 4], 其最长上升连续子序列(LICS)为 [1, 2, 3, 4], 返回 4.原创 2017-10-29 21:04:01 · 532 阅读 · 0 评论
分享