随笔分类 - Lintcode刷题
摘要:描述 亚历克斯计划参观博物馆,并在柜台购买相同的通行证。管理员决定不出售团体通行证,一次只提供一张通行证。如果访客需要一张以上的通行证,他/她必须再次重新排队到柜台并购买下一张通行证。亚历克斯想购买许多通行证。访客顺序和每位访客需要的通行证数量是已知的,亚历克斯需要多少时间才能买到所有的通行证?Al
阅读全文
摘要:32. 最小子串覆盖 中文English 给定两个字符串 source 和 target. 求 source 中最短的包含 target 中每一个字符的子串. 样例 样例 1: 输入: source = "abc", target = "ac" 输出: "abc" 样例 2: 输入: source
阅读全文
摘要:45. 最大子数组差 中文English 给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组和的差的绝对值|SUM(A) - SUM(B)|最大。 返回这个最大的差值。 样例 例1: 输入:[1, 2, -3, 1] 输出:6 解释: 子数组是 [1,2] 和[-3].所以答案是 6. 例
阅读全文
摘要:272. 爬楼梯 II 中文English 一个小孩爬一个 n 层台阶的楼梯。他可以每次跳 1 步, 2 步 或者 3 步。实现一个方法来统计总共有多少种不同的方式爬到最顶层的台阶。 样例 Example 1: Input: 3 Output: 4 Explanation: 1 + 1 + 1 =
阅读全文
摘要:856. 句子相似性 中文English 给出两个句子words1和words2(每个用一个字符串数组表示),和一个相似词对数组pairs,你需要判断两个句子是否相似。 例如,如果相似词对是pairs = [["great", "fine"], ["acting","drama"], ["skill
阅读全文
摘要:1230. 分饼干 中文English 假设你是一个了不起的家长,准备给你的孩子们一些饼干吃,但是你只能给每个孩子至多一块饼干。每一块饼干jj都有一个尺寸s_{j}sj;同时每一个孩子ii都有一个贪吃指数g_{i}gi,代表了能使他满足的最小的饼干尺寸。如果s_{j} \geq g_{i
阅读全文
摘要:359. 正三角形拼接 中文English 给出 nn 根木棍,每次切割可以将 11 根木棍切成 22 段。请计算出最少切割几次,可以从所有木棍中选出 33 根,组成一个 正三角形 。 样例 输入: [2,3,7,5] 输出: 2 说明 可以从长为 77 的木棍中,切出 22 根长为 33 的木棍,
阅读全文
摘要:632. 二叉树的最大节点 中文English 在二叉树中寻找值最大的节点并返回。 样例 样例1: 输入: {1,-5,3,1,2,-4,-5} 输出: 3 说明: 这棵树如下所示: 1 / \ -5 3 / \ / \ 1 2 -4 -5 样例 2 输入: {10,-5,2,0,3,-4,-5}
阅读全文
摘要:336. 文本压缩 中文English 给你一个只含有可见字符(ASCII 码范围 3232 至 126126)文本文件,文件中可能出现一些重复的单词,你需要对它们进行压缩。压缩规则如下: 如果原文件中的字符不是英文字符,那么保留这些字符。 我们将连续的英文字符视为一个单词,单词的前后不应该还有其它
阅读全文
摘要:1632. 电子邮件组的个数 中文English 给定一个n个邮件地址字符串的数组.求出电子邮件组的数量,每个组应具有多个电子邮件地址(地址可以重复)。如果两个字符串在转换后具有相同的值,则它们位于同一组中。 邮件地址处理时遵循以下规则: 在字符`'@'之前忽略所有的字符 '.'. 在字符`'@'之
阅读全文
摘要:孪生素数是指相差为2的素数对,比如3和5,5和7,11和13,输出n以内的素数对个数 n < 1000000 定义子函数 + 分隔判断 class Solution: def getres(self, n): if not n: return 0 count = 0 for index in ran
阅读全文
摘要:1393. 适龄的朋友 中文English 有些人会提出好友请求。 给定他们的年龄列表,其中age[i]是第i个人的年龄。 如果满足以下任一条件,则A不会向B(B!= A)提出好友请求: age[B] <= 0.5 * age[A] +7 age[B]>age[A] age[B]> 100 && a
阅读全文
摘要:1604. 两数最大和 中文English 给定一个由N个整数组成的数组A,返回两个数字的最大总和,规定这两个数的所有位加起来相等。 如果没有两个数字的各个位相加和相等,则该函数应返回-1。 样例 示例1: 输入: A = [51, 71, 17, 42] 输出: 93 解释:这里有两对各个位相加和
阅读全文
摘要:1790. 旋转字符串II 中文English 给出一个字符串(以字符数组形式给出),一个右偏移和一个左偏移,根据给出的偏移量循环移动字符串。(left offest表示字符串向左的偏移量,right offest表示字符串向右的偏移量,左偏移量和右偏移量计算得到总偏移量,在总偏移量处分成两段字符串
阅读全文
摘要:1540. 能否转换 中文English 给两个字符串 S 和 T, 判断 S 能不能通过删除一些字母(包括0个)变成 T. 样例 样例1 输入: S = "lintcode" 和 T = "lint" 输出: true 样例2 输入: S = "lintcode" 和 T = "ide" 输出:
阅读全文
摘要:1562. 餐厅的数量 中文English 给出一个List,里面的数据代表每一个餐厅的坐标[x, y]。顾客的坐标处于原点[0, 0]。找出 n 家离顾客位置最近的餐厅,其中 m 为这 n 家餐厅到顾客的最远距离 ,如果列表中存在超过 n 家餐厅到顾客的距离不大于 m ,则按列表内元素顺序返回先出
阅读全文
摘要:1649. 超级棒棒糖 中文English 超人强和猪猪侠都进入了百米赛跑的决赛。猪猪侠的速度为v1,超人强的速度为v2,猪猪侠可以在比赛前吃至多一支超级棒棒糖,现在给定n种超级棒棒糖,第i种超级棒棒能让猪猪侠的速度提高si,而它的价格为wi.给定v1,v2,s,w,请问猪猪侠至少要花多少钱才能在百
阅读全文
摘要:1872. 连接棒材的最低费用 中文English 为了装修新房,你需要加工一些长度为正整数的棒材 sticks。如果要将长度分别为 X 和 Y 的两根棒材连接在一起,你需要支付 X + Y 的费用。 由于施工需要,你必须将所有棒材连接成一根。返回你把所有棒材 sticks 连成一根所需要的最低费用
阅读全文
摘要:定义二叉树 class TreeNode(): def __init__(self, val = None, left = None, right = None): self.left = left self.right = right self.val = val 1. 根据提供的列表创建成对应的
阅读全文
摘要:实现一个整形转中文的函数. 输入: 10023450 输出: 一千零二万三千四百五十 要求: 1. 可用中文"个","十","百","千","万","亿","兆","零","负" 2. 最大支持百兆 1,000,000,000,000,000 ^ ^ ^ 兆 亿 万 思路: 1.每4位拆分成一段(个
阅读全文