随笔分类 - Lintcode刷题
摘要:1189. 扫雷游戏 中文English 让我们一起来玩扫雷游戏! 给定一个代表游戏板的二维字符矩阵。 'M' 代表一个未挖出的地雷,'E' 代表一个未挖出的空方块,'B' 代表没有相邻(上,下,左,右,和所有4个对角线)地雷的已挖出的空白方块,数字('1' 到 '8')表示有多少地雷与这块已挖出的
阅读全文
摘要:1287. 递增的三元子序列 给定未排序的数组,返回是否在数组中存在递增的长度为3的子序列。 完整的功能应为:如果存在i, j, k,使得arr[i] < arr[j] < arr[k],且0 ≤ i < j < k ≤ n-1,则返回true,否则返回false。您的算法应该以O(n)时间复杂度和
阅读全文
摘要:快速排序的依次划分算法从两头交替搜索,直到low和high重合,因此其时间复杂度是O(n),而整个快速排序算法的时间复杂度与划分的趟数有关 理想的情况是,每次划分所选择的中间数恰好将当前序列几乎等分,经过log2n趟划分,便可以得到长度为1的子表。这样,整个算法的时间复杂度为O(nlog2n)。 最
阅读全文
摘要:643. 最长绝对文件路径 中文English 假设我们通过以下的方式用字符串来抽象我们的文件系统:字符串"dir\n\tsubdir1\n\tsubdir2\n\t\tfile.ext"代表了: dir subdir1 subdir2 file.ext 目录 dir 包含一个空子目录 subdir
阅读全文
摘要:1670. 回合制游戏 CAT 专属题目 中文English QW 是一个回合制游戏的玩家,今天他决定去打怪。 QW 在一场战斗中会碰到 n 个怪物,每个怪物有攻击力 atk[i],每回合结束时如果第 i 个怪物还活着,就会对 QW 造成 atk[i] 的伤害。QW 只能在每回合开始时击杀一个怪物,
阅读全文
摘要:640. 一次编辑距离 中文English 给定两个字符串 S 和 T, 判断T是否可以通过对S做刚好一次编辑得到。每次编辑可以选择以下任意一个操作: 在S的任意位置插入一个字符 删除S中的任意一个字符 将S中的任意字符替换成其他字符 样例 例1: 输入: s = "aDb", t = "adb"
阅读全文
摘要:642. 数据流滑动窗口平均值 中文English 给出一串整数流和窗口大小,计算滑动窗口中所有整数的平均值。 样例 样例1 : MovingAverage m = new MovingAverage(3); m.next(1) = 1 // 返回 1.00000 m.next(10) = (1 +
阅读全文
摘要:626. 矩形重叠 中文English 给定两个矩形,判断这两个矩形是否有重叠。 样例 样例 1: 输入 : l1 = [0, 8], r1 = [8, 0], l2 = [6, 6], r2 = [10, 0] 输出 : true 样例 2: 输入 : [0, 8], r1 = [8, 0], l
阅读全文
摘要:545. 前K大数 II 中文English 实现一个数据结构,提供下面两个接口1.add(number) 添加一个元素2.topk() 返回前K大的数 样例 样例1 输入: s = new Solution(3); s.add(3) s.add(10) s.topk() s.add(1000) s
阅读全文
摘要:1295. 质因数统计 中文English 题目给定一个正整数N,你需要统计(1,N]之间所有整数质数分解后,所有质数的总个数。 样例 输入:6 输出:7 解释:2=2, 3=3, 4=2*2, 5=5, 6=2*3, 个数和为1+1+2+1+2=7 注意事项 1<N<=100000 class S
阅读全文
摘要:471. 最高频的K个单词 中文English 给一个单词列表,求出这个列表中出现频次最高的K个单词。 样例 样例 1: 输入: [ "yes", "lint", "code", "yes", "code", "baby", "you", "baby", "chrome", "safari", "l
阅读全文
摘要:1339. 最大区间 中文English 给定一个非负数的整数数组,需要选出一个区间, 使得该区间是所有区间中值最大的一个,我们定义一个区间的值为:区间中的最小数 * 区间所有数的和。 样例 样例 1: 输入:[6, 2, 1] 输出:36 解释:所有区间及其对应的值为: [6] = 6 * 6 =
阅读全文
摘要:1529. 绝对差不超过限制的三元子数组 中文English 给定一个递增的整数数组nums,和一个表示限制的整数limit,请你返回满足条件的三元子数组的个数,使得该子数组中的任意两个元素之间的绝对差小于或者等于limit。 如果不存在满足条件的子数组,则返回 0 。 样例 样例 1: 输入:[1
阅读全文
摘要:最大点的集合 描述 给定一个坐标点列表 Points,其中Points 中 Point[i][0] 表示横轴坐标,Points[i][1] 表示纵轴坐标。当存在点 p 满足 Points 中任意点都不在 p 的右上方区域内(横纵坐标都大于p),则称其为最大点。返回所有最大点,列表中的最大点按照 X
阅读全文
摘要:1141. 月份天数 中文English 给定年份和月份,返回这个月的天数。 样例 样例 1: 输入: 2020 2 输出: 29 样例 2: 输入: 2020 3 输出: 31 注意事项 1 \leq year \leq 100001≤year≤100001 \leq month \leq 121
阅读全文
摘要:1145. 关联查询 中文English 给定一张员工表datalist1,存储员工ID,员工姓名。给定一张员工工作时长表datalist2,存储员工ID,月份,工时。计算每个员工1-3月每月工时及总工时。 输入描述:[[员工ID,员工姓名],[员工ID,员工姓名],...][[员工ID,月份,工时
阅读全文
摘要:1852. 最终优惠价 中文English 一位店主需要完成一项销售任务,他将要出售的物品排成一排。从左侧开始,店主以其全价减去位于该物品右侧的第一个价格较低或价格相同的商品的价格。如果右侧没有价格低于或等于当前商品价格的商品,则以全价出售当前商品。你需要返回每一个物品实际售出价格。 样例 示例 1
阅读全文
摘要:79. 最长公共子串 中文English 给出两个字符串,找到最长公共子串,并返回其长度。 样例 样例 1: 输入: "ABCD" and "CBCE" 输出: 2 解释: 最长公共子串是 "BC" 样例 2: 输入: "ABCD" and "EACB" 输出: 1 解释: 最长公共子串是 'A'
阅读全文
摘要:553. 炸弹袭击 中文English 给定一个二维矩阵, 每一个格子可能是一堵墙 W,或者 一个敌人 E 或者空 0 (数字 '0'), 返回你可以用一个炸弹杀死的最大敌人数. 炸弹会杀死所有在同一行和同一列没有墙阻隔的敌人。 由于墙比较坚固,所以墙不会被摧毁. 样例 样例1 输入: grid =
阅读全文
摘要:200. 最长回文子串 中文English 给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。 样例 样例 1: 输入:"abcdzdcab" 输出:"cdzdc" 样例 2: 输入:"aba" 输出:"aba" 挑战 O(n2) 时间复杂度的算
阅读全文