2019年2月15日

摘要: 寻找重复的子树 给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。 两棵树重复是指它们具有相同的结构以及相同的结点值。 下面是两个重复的子树: 因此,你需要以列表的形式返回上述重复子树的根结点。 思路 Intuition We can serialize 阅读全文
posted @ 2019-02-15 12:52 kexinxin 阅读(248) 评论(0) 推荐(0)
摘要: 只有两个键的键盘 最初在一个记事本上只有一个字符 'A'。你每次可以对这个记事本进行两种操作: 给定一个数字 n 。你需要使用最少的操作次数,在记事本中打印出恰好 n 个 'A'。输出能够打印出 n 个 'A' 的最少操作次数。 示例 1: 输入: 3 输出: 3 解释: 最初, 我们只有一个字符 阅读全文
posted @ 2019-02-15 12:51 kexinxin 阅读(136) 评论(0) 推荐(0)
摘要: Dota2参议院 Dota2 的世界里有两个阵营:Radiant(天辉)和 Dire(夜魇) Dota2 参议院由来自两派的参议员组成。现在参议院希望对一个 Dota2 游戏里的改变作出决定。他们以一个基于轮为过程的投票进行。在每一轮中,每一位参议员都可以行使两项权利中的一项: 禁止一名参议员的权利 阅读全文
posted @ 2019-02-15 12:50 kexinxin 阅读(140) 评论(0) 推荐(0)
摘要: 单词替换 在英语中,我们有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词——我们称这个词为 继承词(successor)。例如,词根an,跟随着单词 other(其他),可以形成新的单词 another(另一个)。 现在,给定一个由许多词根组成的词典和一个句子。你需要将句 阅读全文
posted @ 2019-02-15 12:47 kexinxin 阅读(244) 评论(0) 推荐(0)
摘要: 回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。 示例 1: 输入: "abc" 输出: 3 解释: 三个回文子串: "a", "b", "c". 示例 2: 输入: "aaa" 输出: 6 说 阅读全文
posted @ 2019-02-15 12:46 kexinxin 阅读(118) 评论(0) 推荐(0)
摘要: 最长数对链 给出 n 个数对。 在每一个数对中,第一个数字总是比第二个数字小。 现在,我们定义一种跟随关系,当且仅当 b < c 时,数对(c, d) 才可以跟在 (a, b) 后面。我们用这种形式来构造一个数对链。 给定一个对数集合,找出能够形成的最长数对链的长度。你不需要用到所有的数对,你可以以 阅读全文
posted @ 2019-02-15 12:45 kexinxin 阅读(154) 评论(0) 推荐(0)
摘要: 子数组最大平均数I 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例 1: 输入: [1,12,-5,-6,50,3], k = 4 输出: 12.75 解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 注意: 思路 本题拿到手的时候 阅读全文
posted @ 2019-02-15 12:44 kexinxin 阅读(179) 评论(0) 推荐(0)
摘要: 求解方程 求解一个给定的方程,将x以字符串"x=#value"的形式返回。该方程仅包含'+',' - '操作,变量 x 和其对应系数。 如果方程没有解,请返回"No solution"。 如果方程有无限解,则返回"Infinite solutions"。 如果方程中只有一个解,要保证返回值 x 是一 阅读全文
posted @ 2019-02-15 12:43 kexinxin 阅读(214) 评论(0) 推荐(0)
摘要: 解码方法2 一条包含字母 A-Z 的消息通过以下的方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 除了上述的条件以外,现在加密字符串可以包含字符 '*'了,字符'*'可以被当做1到9当中的任意一个数字。 给定一条包含数字和字符'*'的加密信息,请确定解码方法的总数。 阅读全文
posted @ 2019-02-15 12:41 kexinxin 阅读(166) 评论(0) 推荐(0)
摘要: 深度学习介绍 2006是深度置信网络用于数据集的预训练是深度学习爆发的前夕, 2012是深度学习开始真正的爆发 一个最简单的感知机可以理解成一条直线,具有两个权重w1,w2,一个偏置b。根据点在直线的上方或者下方进行分类为0或者1。 把一头大象装进冰箱需要三个步骤(1)打开冰箱的门(2)将大象塞进去 阅读全文
posted @ 2019-02-15 10:32 kexinxin 阅读(303) 评论(0) 推荐(0)
摘要: 大礼包 在LeetCode商店中, 有许多在售的物品。 然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。 现给定每个物品的价格,每个大礼包包含物品的清单,以及待购物品清单。请输出确切完成待购清单的最低花费。 每个大礼包的由一个数组中的一组数据描述,最后一个数字代表大礼包的价格,其他数字 阅读全文
posted @ 2019-02-15 00:42 kexinxin 阅读(244) 评论(0) 推荐(0)
摘要: 函数的独占时间 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间。 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用。 日志是具有以下格式的字符串:function_id:start_or_end:timestamp。例如:"0:start: 阅读全文
posted @ 2019-02-15 00:40 kexinxin 阅读(252) 评论(0) 推荐(0)
摘要: 最小区间 你有 k 个升序排列的整数数组。找到一个最小区间,使得 k 个列表中的每个列表至少有一个数包含在其中。 我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c,d] 小。 示例 1: 输入:[[4,10,15,24,26], [0,9, 阅读全文
posted @ 2019-02-15 00:39 kexinxin 阅读(350) 评论(0) 推荐(0)
摘要: 课程表III 这里有 n 门不同的在线课程,他们按从 1 到 n 编号。每一门课程有一定的持续上课时间(课程时间)t 以及关闭时间第 d 天。一门课要持续学习 t 天直到第 d天时要完成,你将会从第 1 天开始。 给出 n 个在线课程用 (t, d) 对表示。你的任务是找出最多可以修几门课。 示例: 阅读全文
posted @ 2019-02-15 00:38 kexinxin 阅读(387) 评论(0) 推荐(0)
摘要: K个逆序对数组 给出两个整数 n 和 k,找出所有包含从 1 到 n 的数字,且恰好拥有 k 个逆序对的不同的数组的个数。 逆序对的定义如下:对于数组的第i个和第 j个元素,如果满i < j且 a[i] > a[j],则其为一个逆序对;否则不是。 由于答案可能很大,只需要返回 答案 mod 109  阅读全文
posted @ 2019-02-15 00:36 kexinxin 阅读(538) 评论(0) 推荐(0)
摘要: 三个数的最大乘积 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 思路 思路 阅读全文
posted @ 2019-02-15 00:35 kexinxin 阅读(106) 评论(0) 推荐(0)
摘要: 在二叉树中增加一行 给定一个二叉树,根节点为第1层,深度为 1。在其第 d 层追加一行值为 v 的节点。 添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N,为 N 创建两个值为 v 的左子树和右子树。 将 N 原先的左子树,连接为新节点 v 的左子树;将 N 原先的 阅读全文
posted @ 2019-02-15 00:33 kexinxin 阅读(164) 评论(0) 推荐(0)
摘要: 合并二叉树 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 输入: 输出: 合并后的树: 阅读全文
posted @ 2019-02-15 00:31 kexinxin 阅读(121) 评论(0) 推荐(0)
摘要: 有效三角形的个数 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。 示例 1: 输入: [2,2,3,4] 输出: 3 解释: 有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 注意: 思路 我们都知道,要想构成三角形,只需三 阅读全文
posted @ 2019-02-15 00:30 kexinxin 阅读(183) 评论(0) 推荐(0)
摘要: 根据二叉树创建字符串 你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。 空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。 示例 1: 输入: 二叉树: [1,2,3,4] 输出: "1(2(4))(3)" 解释 阅读全文
posted @ 2019-02-15 00:28 kexinxin 阅读(246) 评论(0) 推荐(0)
摘要: 种花问题 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则返 阅读全文
posted @ 2019-02-15 00:27 kexinxin 阅读(117) 评论(0) 推荐(0)
摘要: 不包含连续1的非负整数 给定一个正整数 n,找出小于或等于 n 的非负整数中,其二进制表示不包含 连续的1 的个数。 示例 1: 输入: 5 输出: 5 解释: 下面是带有相应二进制表示的非负整数<= 5: 0 : 0 1 : 1 2 : 10 3 : 11 4 : 100 5 : 101 其中,只 阅读全文
posted @ 2019-02-15 00:26 kexinxin 阅读(366) 评论(0) 推荐(0)
摘要: 两个列表的最小索引总和 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 示例 1: 输入: ["S 阅读全文
posted @ 2019-02-15 00:17 kexinxin 阅读(147) 评论(0) 推荐(0)
摘要: 有效正方形 给定二维空间中四点的坐标,返回四点是否可以构造一个正方形。 一个点的坐标(x,y)由一个有两个整数的整数数组表示。 示例: 输入: p1 = [0,0], p2 = [1,1], p3 = [1,0], p4 = [0,1] 输出: True 注意: 阅读全文
posted @ 2019-02-15 00:16 kexinxin 阅读(165) 评论(0) 推荐(0)
摘要: 最长和谐子序列 和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。 现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。 示例 1: 输入: [1,3,2,2,5,2,3,7] 输出: 5 原因: 最长的和谐数组是:[3,2,2,2,3]. 说明: 输入的数组长 阅读全文
posted @ 2019-02-15 00:16 kexinxin 阅读(88) 评论(0) 推荐(0)
摘要: 分数加减运算 给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果。 这个结果应该是不可约分的分数,即最简分数。 如果最终结果是一个整数,例如 2,你需要将它转换成分数形式,其分母为 1。所以在上述例子中, 2 应该被转换为 2/1。 示例 1: 输入:"-1/2+1/2" 输 阅读全文
posted @ 2019-02-15 00:15 kexinxin 阅读(244) 评论(0) 推荐(0)
摘要: 安装栅栏 在一个二维的花园中,有一些用 (x, y) 坐标表示的树。由于安装费用十分昂贵,你的任务是先用最短的绳子围起所有的树。只有当所有的树都被绳子包围时,花园才能围好栅栏。你需要找到正好位于栅栏边界上的树的坐标。 示例 1: 输入: [[1,1],[2,2],[2,0],[2,4],[3,3], 阅读全文
posted @ 2019-02-15 00:13 kexinxin 阅读(253) 评论(0) 推荐(0)
摘要: 两个字符串的删除操作 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。 示例 1: 输入: "sea", "eat" 输出: 2 解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea" 说明: 阅读全文
posted @ 2019-02-15 00:12 kexinxin 阅读(134) 评论(0) 推荐(0)
摘要: 最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到的子数组应是最短的,请输出它的长度。 示例 1: 输入: [2, 6, 4, 8, 10, 9, 15] 输出: 5 解释: 你只需要对 [6, 4, 8, 10, 阅读全文
posted @ 2019-02-15 00:11 kexinxin 阅读(146) 评论(0) 推荐(0)
摘要: 出界的路径数 给定一个 m × n 的网格和一个球。球的起始坐标为 (i,j) ,你可以将球移到相邻的单元格内,或者往上、下、左、右四个方向上移动使球穿过网格边界。但是,你最多可以移动 N 次。找出可以将球移出边界的路径数量。答案可能非常大,返回 结果 mod 109 + 7 的值。 示例 1: 输 阅读全文
posted @ 2019-02-15 00:10 kexinxin 阅读(207) 评论(0) 推荐(0)
摘要: 字符串的排列 给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。 换句话说,第一个字符串的排列之一是第二个字符串的子串。 示例1: 输入: s1 = "ab" s2 = "eidbaooo" 输出: True 解释: s2 包含 s1 的排列之一 ("ba"). 示例2 阅读全文
posted @ 2019-02-15 00:09 kexinxin 阅读(164) 评论(0) 推荐(0)
摘要: 数组嵌套 索引从0开始长度为N的数组A,包含0到N - 1的所有整数。找到并返回最大的集合S,S[i] = {A[i], A[A[i]], A[A[A[i]]], ... }且遵守以下的规则。 假设选择索引为i的元素A[i]为S的第一个元素,S的下一个元素应该是A[A[i]],之后是A[A[A[i] 阅读全文
posted @ 2019-02-15 00:08 kexinxin 阅读(145) 评论(0) 推荐(0)
摘要: 寻找最近的回文数 给定一个整数 n ,你需要找到与它最近的回文数(不包括自身)。 "最近的"定义为两个整数差的绝对值最小。 示例 1: 输入: "123" 输出: "121" 注意: 阅读全文
posted @ 2019-02-15 00:07 kexinxin 阅读(234) 评论(0) 推荐(0)
摘要: 数组拆分 I 给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。 示例 1: 输入: [1,4,3,2] 输出: 4 解释: n 等于 2, 最大总和为 4 阅读全文
posted @ 2019-02-15 00:06 kexinxin 阅读(142) 评论(0) 推荐(0)

导航