随笔分类 - Lintcode刷题
摘要:669. 换硬币 中文English 给出不同面额的硬币以及一个总金额. 写一个方法来计算给出的总金额可以换取的最少的硬币数量. 如果已有硬币的任意组合均无法与总金额面额相等, 那么返回 -1. 样例 样例1 输入: [1, 2, 5] 11 输出: 3 解释: 11 = 5 + 5 + 1 样例2
阅读全文
摘要:8. 旋转字符串 中文English 给定一个字符串(以字符数组的形式给出)和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转)。 样例 样例 1: 输入: str="abcdefg", offset = 3 输出: str = "efgabcd" 样例解释: 注意是原地旋转,即str旋转后为"e
阅读全文
摘要:147. 水仙花数 中文English 水仙花数的定义是,这个数等于他每一位数上的幂次之和 见维基百科的定义 比如一个3位的十进制整数153就是一个水仙花数。因为 153 = 13 + 53 + 33。 而一个4位的十进制数1634也是一个水仙花数,因为 1634 = 14 + 64 + 34 +
阅读全文
摘要:1131. 排列中的函数 中文English 从1~nn 的全排列共有 n!n! 种。例如 n = 3n=3,共有 3!=63!=6 种排列如下: 1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 对于 nn 的任意一种排列 AA,A_xAx 表示在第 xx 个位置上的数
阅读全文
摘要:78. 最长公共前缀 中文English 给k个字符串,求出他们的最长公共前缀(LCP) 样例 样例 1: 输入: "ABCD", "ABEF", "ACEF" 输出: "A" 样例 2: 输入: "ABCDEFG", "ABCEFG" and "ABCEFA" 输出: "ABC" class So
阅读全文
摘要:61. 搜索区间 中文English 给定一个包含 n 个整数的排序数组,找出给定目标值 target 的起始和结束位置。 如果目标值不在数组中,则返回[-1, -1] 样例 例1: 输入: [] 9 输出: [-1,-1] 例2: 输入: [5, 7, 7, 8, 8, 10] 8 输出: [3,
阅读全文
摘要:30. 插入区间 中文English 给出一个无重叠的按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 样例 样例 1: 输入: (2, 5) into [(1,2), (5,9)] 输出: [(1,9)] 样例 2:
阅读全文
摘要:194. 寻找单词 中文English 给定一个字符串str,和一个字典dict,你需要找出字典里的哪些单词是字符串的子序列,返回这些单词。 样例 例1: 输入: str="bcogtadsjofisdhklasdj" dict=["book","code","tag"] 输出: ["book"]
阅读全文
摘要:391. 数飞机 中文English 给出飞机的起飞和降落时间的列表,用序列 interval 表示. 请计算出天上同时最多有多少架飞机? 样例 样例 1: 输入: [(1, 10), (2, 3), (5, 8), (4, 7)] 输出: 3 解释: 第一架飞机在1时刻起飞, 10时刻降落. 第二
阅读全文
摘要:387. 最小差 中文English 给定两个整数数组(第一个是数组 A,第二个是数组 B),在数组 A 中取 A[i],数组 B 中取 B[j],A[i] 和 B[j]两者的差越小越好(|A[i] - B[j]|), 返回最小差。 样例 样例 1: 输入: A = [3, 6, 7, 4], B
阅读全文
摘要:392. 打劫房屋 中文English 假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。 给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打
阅读全文
摘要:363. 接雨水 中文English 给出 n 个非负整数,代表一张X轴上每个区域宽度为 1 的海拔图, 计算这个海拔图最多能接住多少(面积)雨水。 样例 样例 1: 输入: [0,1,0] 输出: 0 样例 2: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6 挑战 O(n
阅读全文
摘要:187. 加油站 中文English 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油gas[i],并且从第_i_个加油站前往第_i_+1个加油站需要消耗汽油cost[i]。 你有一辆油箱容量无限大的汽车,现在要从某一个加油站出发绕环路一周,一开始油箱为空。 求可环绕环路一周时出发的加油站的
阅读全文
摘要:182. 删除数字 中文English 给出一个字符串 A, 表示一个 n 位正整数, 删除其中 k 位数字, 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数。 找到删除 k 个数字之后的最小正整数。 N <= 240, k <= N 样例 样例 1: 输入: A = "178542", k
阅读全文
摘要:162. 矩阵归零 中文English 给定一个m×n矩阵,如果一个元素是0,则将其所在行和列全部元素变成0。 需要在原矩阵上完成操作。 样例 样例 1: 输入:[[1,2],[0,3]] 输出:[[0,2],[0,0]] 样例 2: 输入:[[1,2,3],[4,0,6],[7,8,9]] 输出:
阅读全文
摘要:116. 跳跃游戏 中文English 给出一个非负整数数组,你最初定位在数组的第一个位置。 数组中的每个元素代表你在那个位置可以跳跃的最大长度。 判断你是否能到达数组的最后一个位置。 样例 样例 1 输入 : [2,3,1,1,4] 输出 : true 样例 2 输入 : [3,2,1,0,4]
阅读全文
摘要:171. 乱序字符串 中文English 给出一个字符串数组S,找到其中所有的乱序字符串(Anagram)。如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中。 样例 样例1: 输入:["lint", "intl", "inlt", "code"] 输出:["lint
阅读全文
摘要:149. 买卖股票的最佳时机 中文English 假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。 样例 样例1 输入: [3, 2, 3, 1, 2] 输出: 1 说明:你可以在第三天买入,第四天卖出,利
阅读全文
摘要:150. 买卖股票的最佳时机 II 中文English 给定一个数组 prices 表示一支股票每天的价格. 你可以完成任意次数的交易, 不过你不能同时参与多个交易 (也就是说, 如果你已经持有这支股票, 在再次购买之前, 你必须先卖掉它). 设计一个算法求出最大的利润. 样例 样例 1: 输入:
阅读全文
摘要:125. 背包问题 II 中文English 有 n 个物品和一个大小为 m 的背包. 给定数组 A 表示每个物品的大小和数组 V 表示每个物品的价值. 问最多能装入背包的总价值是多大? 样例 样例 1: 输入: m = 10, A = [2, 3, 5, 7], V = [1, 5, 2, 4]
阅读全文