力扣刷题
末世灯光
这个作者很懒,什么都没留下…
展开
-
力扣刷题2023-05-04-1——题目:2614. 对角线上的质数
数字 1、3、9、10 和 17 是所有满足"位于至少一条对角线上"的数字。由于 17 是最大的质数,故返回 17。如果找到一个元素是质数,该方法返回该元素。如果在迭代完整个列表后没有找到质数,该方法返回0。数字 1、3、6、9 和 11 是所有 "位于至少一条对角线上" 的数字。由于 11 是最大的质数,故返回 11。方法首先提取矩阵的对角线元素(包括主对角线和反对角线),并将它们存储在一个名为。如果最大元素不是1,则该方法按相反的顺序迭代。中最大的元素是否为1。的类,并在其中定义了一个名为。原创 2023-05-04 08:08:36 · 555 阅读 · 0 评论 -
力扣刷题2023-05-03-1——题目:1663. 具有给定数值的最小字符串
字符串的数值为 1 + 1 + 25 = 27,它是数值满足要求且长度等于 3 字典序最小的字符串。为各字符的数值之和。是它在字母表中的位置(从。字符串由若干小写字符组成,原创 2023-05-03 13:41:54 · 116 阅读 · 0 评论 -
力扣刷题2023-05-02-1——题目:1832. 判断句子是否为全字母句
指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串。包含英语字母表中每个字母至少一次。原创 2023-05-02 21:26:25 · 111 阅读 · 0 评论 -
力扣刷题2023-05-01-1——题目:1502. 判断能否形成等差数列
对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为。如果可以重新排列数组形成等差数列,请返回。无法通过重新排序得到等差数列。原创 2023-05-01 13:25:00 · 109 阅读 · 0 评论 -
力扣刷题2023-04-30-1——题目:剑指 Offer II 007. 数组中和为 0 的三个数
使用双指针的方法来优化查找过程,左指针l初始化为i+1,右指针r初始化为数组的最后一个数。将l和r所对应的两个数相加,得到当前的和s,然后根据s和负数i的大小关系来移动指针。如果s等于0,则说明找到了一组符合条件的三元组,将其加入结果集中,并且移动指针,跳过重复的数。整个代码的时间复杂度为O(n的平方),其中排序的时间复杂度为O(nlogn),查找过程的时间复杂度为O(n),因此排序的时间复杂度是瓶颈,但是排序的复杂度可以通过使用快排等高效算法来优化。注意,输出的顺序和三元组的顺序并不重要。原创 2023-04-30 12:06:21 · 536 阅读 · 0 评论 -
力扣刷题2023-04-29-1——题目:1431. 拥有最多糖果的孩子
孩子 1 有 2 个糖果,如果他得到所有额外的糖果(3个),那么他总共有 5 个糖果,他将成为拥有最多糖果的孩子。孩子 4 有 1 个糖果,即使他得到所有额外的糖果,他也只有 4 个糖果,无法成为拥有糖果最多的孩子。孩子 2 有 3 个糖果,如果他得到至少 2 个额外糖果,那么他将成为拥有最多糖果的孩子。孩子 5 有 3 个糖果,如果他得到至少 2 个额外糖果,那么他将成为拥有最多糖果的孩子。只有 1 个额外糖果,所以不管额外糖果给谁,只有孩子 1 可以成为拥有糖果最多的孩子。个孩子拥有的糖果数目。原创 2023-04-29 15:16:17 · 704 阅读 · 0 评论 -
力扣刷题2023-04-28-1——题目:598. 范围求和 II
代码:换一种思路,不对M数组操作演示,直接对opt数据进行求最小范围,这个最小范围肯定是最大值所在区域,再对这部分进行求个数即可。M 中最大的整数是 2, 而且 M 中有4个值为2的元素。定位问题:M = numpy.array(M)花费时间太长。解决问题:一开始就创建数组,而不是先创建列表再转化数组。第二版本代码:优化修改矩阵+1操作。第一版本代码:超出时间限制。矩阵中最大整数的个数。原创 2023-04-28 11:32:43 · 93 阅读 · 0 评论 -
力扣刷题2023-04-27-1——题目:1329. 将矩阵按对角线排序
是一条从矩阵最上面行或者最左侧列中的某个元素开始的对角线,沿右下方向一直到矩阵末尾的元素。上的元素按升序排序后,返回排好序的矩阵。原创 2023-04-27 23:06:30 · 317 阅读 · 0 评论 -
力扣刷题2023-04-26-1——题目:233. 数字 1 的个数
【代码】力扣刷题2023-04-26-1——题目:233. 数字 1 的个数。原创 2023-04-26 13:23:41 · 85 阅读 · 0 评论 -
力扣刷题2023-04-25-1——题目:2418. 按身高排序
第一个 Bob 最高,然后是 Alice 和第二个 Bob。Mary 最高,接着是 Emma 和 John。顺序返回对应的名字数组。原创 2023-04-26 00:19:47 · 136 阅读 · 0 评论 -
力扣刷题2023-04-24-1——题目:1540. K 次操作转变字符串
我们可以在第 1 次操作时将 'a' 切换成 'b' ,但另外 2 个字母在剩余操作中无法再转变为 t 中对应字母。第 1 次操作时,我们将第一个 'a' 切换 1 次得到 'b'。在第 27 次操作时,我们将第二个字母 'a' 切换 27 次得到 'b'。第 6 次操作时,我们将 'i' 切换 6 次得到 'o'。第 7 次操作时,我们将 'n' 切换 7 次得到 'u'。切换 1 个字符的意思是用字母表中该字母的下一个字母替换它(字母表环状接起来,所以。最多只能被操作 1 次。原创 2023-04-24 14:23:50 · 422 阅读 · 0 评论 -
力扣刷题2023-04-23-1——题目:1115. 交替打印 FooBar
这里有两个线程被异步启动。其中一个调用 foo() 方法, 另一个调用 bar() 方法,"foobar" 将被输出一次。"foobar" 将被输出两次。两个不同的线程将会共用一个。请设计修改程序,以确保。原创 2023-04-23 23:32:48 · 499 阅读 · 0 评论 -
力扣刷题2023-04-22-1——题目:143. 重排链表
该算法首先找到链表的中点,然后将链表分成两部分。然后将后半部分逆序,最后将逆序后的后半部分插入到前半部分中。注释中的“Optional”表示该参数可以为空(None),而“-> None”表示该方法不返回任何内容。这个函数包含一个类Solution和一个方法reorderList,其目的是重新排列给定的单链表。不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。原创 2023-04-22 16:32:57 · 86 阅读 · 0 评论 -
力扣刷题2023-04-21-1——题目:820. 单词的压缩编码
words[2] = "bell" ,s 开始于 indices[2] = 5 到下一个 '#' 结束的子字符串,如加粗部分所示 "time#words[0] = "time" ,s 开始于 indices[0] = 0 到下一个 '#' 结束的子字符串,如加粗部分所示 "words[1] = "me" ,s 开始于 indices[1] = 2 到下一个 '#' 结束的子字符串,如加粗部分所示 "ti。一组有效编码为 s = "t#" 和 indices = [0]。进行编码的最小助记字符串。原创 2023-04-21 12:35:09 · 70 阅读 · 0 评论 -
力扣刷题2023-04-20-2——题目:剑指 Offer II 042. 最近请求次数
,范围是 [-2900,100],返回 2。],范围是 [-2999,1],返回 1。],范围是 [1,3001],返回 3。],范围是 [2,3002],返回 3。类来计算特定时间范围内最近的请求。的调用都使用比之前更大的。原创 2023-04-20 22:42:48 · 378 阅读 · 0 评论 -
力扣刷题2023-04-20-1——题目:1218. 最长定差子序列
具体来说,我们可以对于数组中的每个元素 arr[i],在 dp 中查找是否存在键为 arr[i] - difference 的元素,如果存在,则说明 arr[i] 可以与这个元素构成等差子序列,更新 dp[arr[i]] 为 dp[arr[i] - difference] + 1。如果不存在,则说明 arr[i] 无法与之前的元素构成等差子序列,此时 dp[arr[i]] 的值仍然为 1,即只包含 arr[i] 一个元素的子序列。中最长等差子序列的长度,该子序列中相邻元素之间的差等于。原创 2023-04-20 11:21:11 · 183 阅读 · 0 评论 -
力扣刷题2023-04-19-1——题目:916. 单词子集
我们计算它包含每个字符的计数,然后检查是否满足要求。这样可以避免嵌套循环,提高算法的效率。首先,我们使用一个长度为 26 的数组。中每个字符出现的最大计数。中的每个字符且计数不小于该字符在。中出现的最大计数,那么就将。版本1:超时但是思路没问题。中的每个字母都出现在。原创 2023-04-19 16:54:41 · 460 阅读 · 0 评论