![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣刷题
nk南枫
这个作者很懒,什么都没留下…
展开
-
【240中等】搜索二维矩阵
【240中等】搜索二维矩阵1. 问题描述编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5输出:true输入:matrix = [[1,4,7,11,15],[原创 2021-10-25 11:09:42 · 71 阅读 · 0 评论 -
【中等638】 大礼包
【中等638】 大礼包 (2021.10.24)1. 问题描述在 LeetCode 商店中, 有 n 件在售的物品。每件物品都有对应的价格。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。给你一个整数数组 price 表示物品价格,其中 price[i] 是第 i 件物品的价格。另有一个整数数组 needs 表示购物清单,其中 needs[i] 是需要购买第 i 件物品的数量。还有一个数组 special 表示大礼包,special[i] 的长度为 n + 1 ,其中 special[原创 2021-10-24 21:26:44 · 73 阅读 · 0 评论 -
【229中等】求众数
【229中等】求众数(2021.10.22)1. 问题描述给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。示例 1:输入:[3,2,3]输出:[3]示例 2:输入:nums = [1]输出:[1]示例 3:输入:[1,1,1,3,3,2,2,2]输出:[1,2]提示:1 <= nums.length <= 5 * 104-109 <= nums[i] <= 1092. 思路使用map来进行计数摩尔投票原创 2021-10-22 10:55:02 · 101 阅读 · 0 评论 -
【66简单】加一
【66简单】加一(2021.10.21)1. 问题描述给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits原创 2021-10-21 12:22:36 · 60 阅读 · 0 评论 -
【453简单】最少操作次数使数组元素相等
【453简单】最少操作次数使数组元素相等(2021.10.20)1. 问题描述给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。示例 1:输入:nums = [1,2,3]输出:3解释:只需要3次操作(注意每次操作会增加两个元素的值):[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]示例 2:输入:nums = [1,1,1]输出:0提示:n ==原创 2021-10-20 13:57:55 · 1212 阅读 · 0 评论 -
【38中等】 外观数列
【38中等】 外观数列(2021.10.15)1. 问题描述给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = "1"countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:1. 12. 113. 214. 12115.原创 2021-10-15 11:02:30 · 63 阅读 · 0 评论 -
【412简单】FizzBuzz
12. 【412简单】(2021.10.13)1. 问题描述给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i] == “FizzBuzz” 如果 i 同时是 3 和 5 的倍数。answer[i] == “Fizz” 如果 i 是 3 的倍数。answer[i] == “Buzz” 如果 i 是 5 的倍数。answer[i] == i 如果上述条件全不满足。示例 1:输入:n原创 2021-10-13 20:20:16 · 164 阅读 · 0 评论 -
29中等】两数相除
【29中等】两数相除(2021.10.12)1. 问题描述给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2示例 1:输入: dividend = 10, divisor = 3输出: 3解释: 10/3 = tr原创 2021-10-12 11:31:15 · 76 阅读 · 0 评论 -
【352困难】将数据流变为多个不相交区间
【352困难】将数据流变为多个不相交区间(2021.10.9)1. 问题描述给你一个由非负整数 a1, a2, ..., an 组成的数据流输入,请你将到目前为止看到的数字总结为不相交的区间列表。实现 SummaryRanges 类:SummaryRanges() 使用一个空数据流初始化对象。void addNum(int val) 向数据流中加入整数 val 。int[][] getIntervals() 以不相交区间 [starti, endi] 的列表形式返回对数据流中整数的总结。示原创 2021-10-09 13:04:36 · 68 阅读 · 0 评论 -
【187中等】重复的DNA序列
【187中等】重复的DNA序列(2021.10.8)1. 问题描述所有 DNA 都由一系列缩写为 'A','C','G' 和 'T' 的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。示例1:输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"输出:["AAAAACCCCC","CCCCCAAAAA"原创 2021-10-08 11:20:49 · 141 阅读 · 0 评论 -
【434简单】字符串中的单词数
【434简单】字符串中的单词数(2021.10.7)1. 问题描述统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。2. 思路在字符串末尾添加一个空格,只有当前一个字符不为空格且当前字符为空格的时候,单词数+1。3. 代码class Solution {publi原创 2021-10-07 10:39:18 · 120 阅读 · 0 评论 -
【414简单】第三大的数
【414简单】第三大的数(2021.10.6)1. 问题描述给你一个非空数组,返回此数组中第三大的数。如果不存在,返回数组中最大的数。示例1:输入:[3, 2, 1]输出:1解释:第三大的数是 1 。示例2:输入:[1, 2]输出:2解释:第三大的数不存在, 所以返回最大的数 2 。示例3:输入:[2, 2, 3, 1]输出:1解释:注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。此例中存在两个值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1 。原创 2021-10-06 11:18:01 · 510 阅读 · 0 评论 -
【284中等】顶端迭代器
【284中等】顶端迭代器(2021.10.5)1. 问题描述请你设计一个迭代器,除了支持hasNext和next操作之外,还支持peek操作。实现PeekingIterator类:PeekingIterator(int[] nums)使用指定整数数组nums初始化迭代器。int next()返回数组的下一个元素,并将指针移动到下个元素处。bool hasNext()如果数组存在下一个元素,返回true;否则,返回false。int peek()返回数组中的下一个元素,但不移动指针。示例:原创 2021-10-05 16:27:09 · 90 阅读 · 0 评论 -
【482简单】密钥格式化
【482简单】密钥格式化(2021.10.4)1. 问题描述有一个密钥字符串S,只包含字母,数字以及‘-’(破折号)。其中,N个‘-’将字符串分成了N+1组。给你一个数字K,请你重新格式化字符串,使每个分组恰好包含K个字符。特别的,第一个分组包含的字符个数必须小于等于K,但至少要包含1个字符。两个分组之间需要用‘-’(破折号),并且将所有的小写字母转换为大写字母。给定非空字符串S和数字K,按照上面描述的规则进行格式化。示例1:输入:S = "5F3Z-2e-9-w", K = 4输出:"5F3原创 2021-10-05 12:26:06 · 155 阅读 · 0 评论 -
【1436简单】终点旅行站
【1436简单】终点旅行站(2021.10.1)1. 问题描述给你一份旅游线路图,该线路图中的旅行线路用数组paths表示,其中paths[i] = [cityAi,cityBi]表示该线路将会从cityAi直接前往cityBi。请你找出这里旅行的终点站,即没有任何可以通往其他城市的线路的城市。题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行重点站。示例1:输入:paths = [["London","New York"],["New York","Lima"],["Lima","S原创 2021-10-01 18:34:23 · 76 阅读 · 0 评论 -
【223中等】矩形面积
【223中等】矩形面积(2021.9.30)1. 问题描述给你二维平面上两个由直线构成的矩形,请你计算并返回两个矩形覆盖的总面积。每个矩形由其左下顶点和右上顶点坐标表示:第一个矩形由其左下顶点(ax1,ay1)(a_{x1},a_{y1})(ax1,ay1)和右上顶点(ax2,ay2)(a_{x2},a_{y2})(ax2,ay2)定义。第二个矩形由其左下顶点(bx1,by1)(b_{x1},b_{y1})(bx1,by1)和右上顶点(bx2,by2)(b_{x2},b_{y2})(原创 2021-10-01 18:30:13 · 181 阅读 · 0 评论