12 2020 档案

摘要:[leetcode/lintcode 题解] Uber面试题:克隆图 克隆一张无向图. 无向图的每个节点包含一个 label 和一个列表 neighbors. 保证每个节点的 label 互不相同. 你的程序需要返回一个经过深度拷贝的新图. 新图和原图具有同样的结构, 并且对新图的任何改动不会对原图 阅读全文
posted @ 2020-12-31 09:19 LintCode领扣 阅读(91) 评论(0) 推荐(0)
摘要:描述 给定 n 本书, 第 i 本书的页数为 pages[i]. 现在有 k 个人来复印这些书籍, 而每个人只能复印编号连续的一段的书, 比如一个人可以复印 pages[0], pages[1], pages[2], 但是不可以只复印 pages[0], pages[2], pages[3] 而不复 阅读全文
posted @ 2020-12-30 18:37 LintCode领扣 阅读(356) 评论(0) 推荐(0)
摘要:给一个整数数组,调整每个数的大小,使得相邻的两个数的差不大于一个给定的整数target,调整每个数的代价为调整前后的差的绝对值,求调整代价之和最小是多少。 你可以假设数组中每个整数都是正整数,且小于等于100。 在线评测地址:领扣题库官网 样例1: 输入: [1,4,2,3], target=1 输 阅读全文
posted @ 2020-12-29 20:11 LintCode领扣 阅读(438) 评论(0) 推荐(0)
摘要:描述 给定一个整数数组,找出两个 不重叠 子数组使得它们的和最大。 每个子数组的数字在数组中的位置应该是连续的。 返回最大的和。 在线评测地址:领扣题库官网 样例 1: 输入: [1, 3, -1, 2, -1, 2] 输出: 7 解释: 最大的子数组为 [1, 3] 和 [2, -1, 2] 或者 阅读全文
posted @ 2020-12-28 18:03 LintCode领扣 阅读(161) 评论(0) 推荐(0)
摘要:描述 给出一系列 不重复的单词,找出所有用这些单词能构成的 单词矩阵。 一个有效的单词矩阵是指, 如果从第 k 行读出来的单词和第 k 列读出来的单词相同(0 <= k < max(numRows, numColumns)),那么就是一个单词矩阵. 例如,单词序列为 ["ball","area"," 阅读全文
posted @ 2020-12-27 19:02 LintCode领扣 阅读(165) 评论(0) 推荐(0)
摘要:描述 给一个嵌套的整数列表, 返回列表中所有整数由它们的深度加权后的总和. 每一个元素可能是一个整数或一个列表(其元素也可能是整数或列表)。 注意,在之前的题目嵌套列表的加权和中,从根结点到叶子结点,深度权重是递增的。在嵌套列表的加权和II中,深度权重的定义是自下而上的,也就是说,最底层叶子结点的深 阅读全文
posted @ 2020-12-24 09:53 LintCode领扣 阅读(92) 评论(0) 推荐(0)
摘要:描述 写出一个高效的算法来搜索m×n矩阵中的值,返回这个值出现的次数。 这个矩阵具有以下特性: 每行中的整数从左到右是排序的。 每一列的整数从上到下是排序的。 在每一行或每一列中没有重复的整数。 在线评测地址:领扣题库官网 样例 1: 输入: [[3,4]] target=3 输出:1 样例 2: 阅读全文
posted @ 2020-12-23 16:32 LintCode领扣 阅读(106) 评论(0) 推荐(0)
摘要:描述 有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。 请判定 先手玩家 必胜还是必败? 若必胜, 返回 true, 否则返回 false. 在线评测地址:九章官网solution 样例 1: 输入: 1 输出: true 样例 阅读全文
posted @ 2020-12-22 16:35 LintCode领扣 阅读(207) 评论(0) 推荐(0)
摘要:给定一个字符串,逐个翻转字符串中的每个单词。 说明 单词的构成:无空格字母构成一个单词,有些单词末尾会带有标点符号 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个 在线评测地址:领扣题库官网 样例1: 样例2: 阅读全文
posted @ 2020-12-21 10:35 LintCode领扣 阅读(70) 评论(0) 推荐(0)
摘要:实现一个迷你的推特,支持下列几种方法 ​postTweet(user_id, tweet_text).​ 发布一条推特. ​getTimeline(user_id).​ 获得给定用户最新发布的十条推特,按照发布时间从最近的到之前排序 ​getNewsFeed(user_id).​ 获得给定用户的朋友 阅读全文
posted @ 2020-12-18 20:59 LintCode领扣 阅读(81) 评论(0) 推荐(0)
摘要:给一棵二叉树和二叉树中的两个节点,找到这两个节点的最近公共祖先​LCA​。 两个节点的最近公共祖先,是指两个节点的所有父亲节点中(包括这两个节点),离这两个节点最近的公共的节点。 每个节点除了左右儿子指针以外,还包含一个父亲指针​parent​,指向自己的父亲。 在线评测地址:领扣题库官网 样例 1 阅读全文
posted @ 2020-12-18 20:54 LintCode领扣 阅读(105) 评论(0) 推荐(0)
摘要:给出飞机的起飞和降落时间的列表,用序列 ​interval​ 表示. 请计算出天上同时最多有多少架飞机? 如果多架飞机降落和起飞在同一时刻,我们认为降落有优先权。 在线评测地址:领扣题库官网 样例 1: 样例 2: 自动换行 输入: [(1, 2), (2, 3), (3, 4)] 输出: 1 解释 阅读全文
posted @ 2020-12-16 10:59 LintCode领扣 阅读(597) 评论(0) 推荐(0)
摘要:给一个按照升序排序的非负整数数组。这个数组很大以至于你只能通过固定的接口 ​ArrayReader.get(k)​ 来访问第k个数(或者C++里是ArrayReader->get(k)),并且你也没有办法得知这个数组有多大。 找到给出的整数target第一次出现的位置。你的算法需要在O(logk)的 阅读全文
posted @ 2020-12-16 10:36 LintCode领扣 阅读(108) 评论(0) 推荐(0)
摘要:给定一个整数数组,在该数组中,寻找三个数,分别代表三角形三条边的长度,问,可以寻找到多少组这样的三个数来组成三角形? 在线评测地址:领扣题库官网 样例 1: 样例 2: 自动换行 输入: [4, 4, 4, 4] 输出: 4 解释: 任何三个数都可以构成三角形 所以答案为 C(3, 4) = 4 题 阅读全文
posted @ 2020-12-14 11:37 LintCode领扣 阅读(194) 评论(0) 推荐(0)
摘要:给定一个整数数组来表示排列,找出其之后的一个排列。 在线评测地址:领扣题库官网 例1: 输入:[1] 输出:[1] 例2: 输入:[1,3,2,3] 输出:[1,3,3,2] 例3: 输入:[4,3,2,1] 输出:[1,2,3,4] 算法 从后往前寻找不是递增的下标i 从后往前遍历数组,如果一直是 阅读全文
posted @ 2020-12-11 21:59 LintCode领扣 阅读(157) 评论(0) 推荐(0)
摘要:给一棵二叉树,找到最长连续路径的长度。 这条路径是指 任何的节点序列中的起始节点到树中的任一节点都必须遵循 父-子 联系。最长的连续路径必须是从父亲节点到孩子节点(​不能逆序​)。 在线评测地址:领扣题库官网 样例1: 输入: {1,#,3,2,4,#,#,#,5} 输出:3 说明: 这棵树如图所示 阅读全文
posted @ 2020-12-11 21:54 LintCode领扣 阅读(241) 评论(0) 推荐(0)
摘要:给出 n 个物品, 以及一个数组, ​nums[i]​ 代表第i个物品的大小, 保证大小均为正数, 正整数 ​target​ 表示背包的大小, 找到能填满背包的方案数。 ​每一个物品只能使用一次​ 在线评测地址:领扣题库官网 样例 给出候选物品集合 ​[1,2,3,3,7]​ 以及 target ​ 阅读全文
posted @ 2020-12-09 09:33 LintCode领扣 阅读(117) 评论(0) 推荐(0)
摘要:给出一个整数数组,有正有负。找到这样一个子数组,他的长度大于等于 ​k​,且平均值最大。 保证数组的大小 >= k 在线评测地址:领扣题库官网 例1: 输入: [1,12,-5,-6,50,3] 3 输出: 15.667 解释: (-6 + 50 + 3) / 3 = 15.667 例2: 输入: 阅读全文
posted @ 2020-12-09 09:24 LintCode领扣 阅读(204) 评论(0) 推荐(0)
摘要:给出不同面额的硬币以及一个总金额. 写一个方法来计算给出的总金额可以换取的最少的硬币数量. 如果已有硬币的任意组合均无法与总金额面额相等, 那么返回 ​-1​. 在线评测地址:领扣题库官网 样例1 输入: [1, 2, 5] 11 输出: 3 解释: 11 = 5 + 5 + 1 样例2 输入: [ 阅读全文
posted @ 2020-12-07 17:59 LintCode领扣 阅读(157) 评论(0) 推荐(0)
摘要:将 k 个有序数组合并为一个大的有序数组。 在线评测地址:领扣题库官网 样例 1: Input: [ [1, 3, 5, 7], [2, 4, 6], [0, 8, 9, 10, 11] ] Output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] 样例 2: I 阅读全文
posted @ 2020-12-04 18:21 LintCode领扣 阅读(362) 评论(0) 推荐(0)
摘要:有一个消息包含​A-Z​通过以下规则编码 'A' -> 1 'B' -> 2 ... 'Z' -> 26 现在给你一个加密过后的消息,问有几种解码的方式 我们不能解码空串,因此若消息为空,你应该返回0。 消息的长度 n≤100 在线评测地址:领扣题库官网 样例 1: 输入: "12" 输出: 2 解 阅读全文
posted @ 2020-12-03 10:40 LintCode领扣 阅读(73) 评论(0) 推荐(0)
摘要:给你一个大小为n的整型数组和一个大小为k的滑动窗口,将滑动窗口从头移到尾,输出从开始到结束每一个时刻滑动窗口内的数的和。 在线评测地址:领扣题库官网 样例 1 输入:array = [1,2,7,8,5], k = 3 输出:[10,17,20] 解析: 1 + 2 + 7 = 10 2 + 7 + 阅读全文
posted @ 2020-12-02 09:27 LintCode领扣 阅读(153) 评论(0) 推荐(0)
摘要:给定两个 稀疏矩阵 A 和 B,返回AB的结果。 您可以假设A的列数等于B的行数。 在线评测地址:领扣题库官网 样例1 Input: [[1,0,0],[-1,0,3]] [[7,0,0],[0,0,0],[0,0,1]] Output: [[7,0,0],[-7,0,3]] Explanation 阅读全文
posted @ 2020-12-02 09:14 LintCode领扣 阅读(177) 评论(0) 推荐(0)