- 博客(25)
- 收藏
- 关注
原创 力扣每日一题(难的我也不会)2681. 英雄的力量(2023.8.1)
题意就是求所有子序列的最大值的平方再乘以最小值,因此与顺序无关,先进行排序。,它表示英雄的能力值。如果我们选出一部分英雄,这组英雄的。表示这组英雄在数组中的下标。那么这组英雄的力量为。通过规律发现(自己发现的规律,大佬的那个规律更简单)题中所述,只需要求每个子序列的最大值和最小值即可。由于答案可能非常大,请你将结果对。超时,发现数据范围过大,O2必然不能过。从大数开始比较好想(我是这么想的)举例4,作为最大值的情况有以下几种。通过一个前缀数组存储。
2023-08-01 16:08:15 202
原创 力扣每日一题(难的我也不会)1450. 在既定时间做作业的学生人数(2022.8.19)
简单模拟即可,如果当前学生写作业的开始时间小于等于查询时间并且结束时间大于等于查询时间,则该学生在查询时间内在做作业。时正在做作业的学生人数。(结束时间),并指定一个整数。
2022-08-19 11:35:11 260 1
原创 力扣每日一题(难的我也不会)1302. 层数最深叶子节点的和(2022.8.17)
给你一棵二叉树的根节点root,请你返回层数最深的叶子节点的和。
2022-08-19 11:30:55 198
原创 力扣每日一题(难的我也不会)641. 设计循环双端队列(2022.8.15)
实现MyCircularDeque类:MyCircularDeque(int k):构造函数,双端队列最大为k。boolean insertFront():将一个元素添加到双端队列头部。 如果操作成功返回true,否则返回false。boolean insertLast():将一个元素添加到双端队列尾部。如果操作成功返回true,否则返回false。boolean deleteFront():从双端队列头部删除一个元素。 如果操作成功返回true,否则返回fal...
2022-08-15 17:02:43 207
原创 力扣每日一题(难的我也不会)1422. 分割字符串的最大得分(2022.8.14)
给你一个由若干 0 和 1 组成的字符串s,请你计算并返回将该字符串分割成两个非空子字符串(即左子字符串和右子字符串)所能获得的最大得分。「分割字符串的得分」为左子字符串中0的数量加上右子字符串中1的数量。...
2022-08-15 16:31:52 186
原创 力扣53.最大子数组和(2022.8.11)
给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。
2022-08-11 21:49:34 144
原创 力扣每日一题(难的我也不会)1413. 逐步求和得到正数的最小值(2022.8.9)
给你一个整数数组nums。你可以选定任意的正数startValue 作为初始值。你需要从左到右遍历nums数组,并将 startValue 依次累加上nums数组中的值。请你在确保累加和始终大于等于 1 的前提下,选出一个最小的正数作为 startValue 。...
2022-08-09 20:59:50 130
原创 力扣每日一题(难的我也不会)1408. 数组中的字符串匹配(2022.8.6)
数组中的每个字符串都可以看作是一个单词。直接双重for判断当前字符串是否是子串即可。中是其他单词的子字符串的所有单词。最左侧和/或最右侧的若干字符得到。
2022-08-07 19:53:05 72
原创 力扣707. 设计链表(2022.8.5)
在设计链表时我们主要需要实现的是addAtIndex和deleteAtIndex方法,addAtHead和addAtTail可通过addAtIndex实现。在链表题目中,若需要返回头节点,我们一般会使用虚拟头节点,用虚拟头节点的next指向头节点,可以避免对头节点单独处理。在之前设计循环队列时我们讲到Node节点的创建,在这里就不多赘述了,有意向的小伙伴可点击。以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。效率低的原因是我们实现的是单向链表,在添加删除时需要遍历整个链表。...
2022-08-05 11:44:10 208
原创 力扣每日一题(难的我也不会)623. 在二叉树中增加一行(2022.8.5)
623. 在二叉树中增加一行给定一个二叉树的根 和两个整数 和 ,在给定的深度 处添加一个值为 的节点行。注意,根节点 位于深度 。加法规则如下: 今天的题使用深度优先搜索即可解决思路如下直接在原方法上进行递归,如果在当前节点处的depth == 2,应在当前节点的下一层进行添加注意,depth ==1 只会出现一次,那就是直接在根节点处进行添加,因为其他的当递归到 depth == 2时就添加了代码如下...
2022-08-05 10:09:14 96
原创 Leetcode27. 移除元素(2022.8.4)
给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。...
2022-08-04 10:08:09 60
原创 力扣每日一题(难的我也不会)1403. 非递增顺序的最小值血子序列(2022.8.4)
给你一个数组nums,请你从中抽取一个子序列,满足该子序列的元素之和严格大于未包含在该子序列中的各元素之和。如果存在多个解决方案,只需返回长度最小的子序列。如果仍然有多个解决方案,则返回元素之和最大的子序列。与子数组不同的地方在于,「数组的子序列」不强调元素在原数组中的连续性,也就是说,它可以通过从数组中分离一些(也可能不分离)元素得到。......
2022-08-04 09:17:02 80
原创 力扣每日一题(难的我也不会)899. 有序队列(2022.8.3)
例如,baaca,第一个字母大于第二个字母,这时候就可以搞个冒泡排序,将第二个字母放到最后一个,此时是bacaa,再将第一个字母放在最后一个, 变为acaab,再将之前的所有放在后面,此时变为abaca,这样就相当于做了一次冒泡排序,通过这个原理我们可通过排序实现字典序最小的字符串,即aaabc,当k==1时,我们需要枚举出所有的可能(就是删掉第一个,把它加在最后,通过比较找到字典序最小的)在应用上述步骤的任意数量的移动后,字典上最小的字符串。个字母中选择一个,并把它加到字符串的末尾。...
2022-08-03 10:58:50 114
原创 力扣每日一题(难的我也不会)622. 设计循环队列(2022.8.2)
对于栈,队列,链表,哈希表这类设计题型,我们需要构造出Node节点去存储相应的值在链表类题型中,根据链表存储类型可构造以下节点因为只需要存储值和next指针,我们只需构造出只有值和指针的Node节点在哈希表中,因为哈希表是根据数组加链表实现的,链表中不仅要存储key值,还需要存储对应的val值,所以我们需要三个属性,key,val,next指针,哈希表中key值不能更改,所以我们使用setter,getter来对key以及val赋值...
2022-08-03 09:46:36 135
原创 力扣每日一题(难的我也不会)1374. 生成每种字符都是奇数个的字符串(2022.8.1)
给你一个整数n,请你返回一个含n个字符的字符串,其中每种字符在该字符串中都恰好出现奇数次。返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。...
2022-08-01 21:10:14 73
原创 力扣706. 手写简单hash表(2022.7.30)
在手写hash表之前,我们首先得了解hash表底层是怎样构成的。hash表在1.8之后是由数组+链表+红黑树构成的,当链表长度大于8并且数组长度大于64时,会发生链表转红黑树,在这道题中,我们不用考虑那么多,只需要实现数组加链表即可。首先我们需要一个数组和链表节点,数组长度我们设为1009,是1000之后的第一个质数,长度为质数时数据可以尽量的均匀分配在数组中。在上述代码中有一个细节,就是数组初始值为链表的虚拟头节点,这样就可以避免每次处理链表头的麻烦。...
2022-07-30 23:01:02 474
原创 力扣每日一题(难的我也不会)693. 交替位二进制数(2022.3.28)
693. 交替位二进制数给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。话不多说,直接打表class Solution { public boolean hasAlternatingBits(int n) { return 1 == n || 2 == n || 5 == n || 10 == n || 21 == n || 42 == n || 85 == n || 170 == n || 341 ==
2022-03-28 00:49:12 356
原创 力扣每日一题(难的我也不会)2028. 找出缺失的观测数据(2022.3.27)
2028. 找出缺失的观测数据现有一份n + m次投掷单个六面骰子的观测数据,骰子的每个面从1到6编号。观测数据中缺失了n份,你手上只拿到剩余m次投掷的数据。幸好你有之前计算过的这n + m次投掷数据的平均值。给你一个长度为m的整数数组rolls,其中rolls[i]是第i次观测的值。同时给你两个整数mean和n。返回一个长度为n的数组,包含所有缺失的观测数据,且满足这n + m次投掷的平均值是mean。如果存在多组符合要求...
2022-03-27 14:43:38 403
原创 力扣每日一题(难的我也不会)682. 棒球比赛(2022.3.26)
682. 棒球比赛你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表ops,其中ops[i]是你需要记录的第i项操作,ops遵循下述规则:整数x- 表示本回合新获得分数x "+"- 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。 "D"- 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前...
2022-03-26 20:46:22 142
原创 力扣每日一题(难的我也不会)172. 阶乘后的零(2022.3.25)
172. 阶乘后的零给定一个整数 n ,返回 n! 结果中尾随零的数量。提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1根据数学方法可以看出来,只有n是5的倍数时才会出现0,特殊的25,125,他们会产生两个0和三个0,对于五的倍数考虑一下就可以得出以下代码class Solution { public int trailingZeroes(int n) { int res=0; for(int i=5;
2022-03-25 13:16:19 594
原创 力扣每日一题(难的我也不会)2038. 如果相邻两个颜色均相同则删除当前颜色(2022.3.22)
2038. 如果相邻两个颜色均相同则删除当前颜色难度中等62收藏分享切换为英文接收动态反馈总共有n个颜色片段排成一列,每个颜色片段要么是'A'要么是'B'。给你一个长度为n的字符串colors,其中colors[i]表示第i个颜色片段的颜色。Alice 和 Bob 在玩一个游戏,他们轮流从这个字符串中删除颜色。Alice先手。如果一个颜色片段为'A'且相邻两个颜色都是颜色'A',那么 Alice 可以删除该颜色片段。Alice不可以删除任何...
2022-03-24 11:28:54 3667
原创 力扣每日一题(难的我也不会)807.保持城市天际线(2021.12.13)
给你一座由 n x n 个街区组成的城市,每个街区都包含一座立方体建筑。给你一个下标从 0 开始的 n x n 整数矩阵 grid ,其中 grid[r][c] 表示坐落于 r 行 c 列的建筑物的 高度 。城市的 天际线 是从远处观察城市时,所有建筑物形成的外部轮廓。从东、南、西、北四个主要方向观测到的 天际线 可能不同。我们被允许为 任意数量的建筑物 的高度增加 任意增量(不同建筑物的增量可能不同) 。 高度为 0 的建筑物的高度也可以增加。然而,增加的建筑物高度 不能影响 从任何主要方向观察城
2021-12-13 20:08:45 249
原创 【算法】Leetcode50. pow(x, n) Java
直接暴力(结果当然是直接爆栈)class Solution { public double myPow(double x, int n) { if(n==0) return 1; if(n==1)return x; if (n >0) { return x*myPow(x,n-1); }else { return 1/x*myPow(x,n+1); } ..
2021-12-06 13:04:29 301
原创 力扣每日一题(难的我也不会)(2021.11.29)
给你一个按递增顺序排序的数组 arr 和一个整数 k 。数组 arr 由 1 和若干 素数组成,且其中所有整数互不相同。对于每对满足 0 < i < j < arr.length 的 i 和 j ,可以得到分数 arr[i] / arr[j] 。那么第k个最小的分数是多少呢?以长度为 2 的整数数组返回你的答案, 这里answer[0] == arr[i]且answer[1] == arr[j] 。public int[] kthSmallestPrim...
2021-11-29 18:59:54 536
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人