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