java力扣算法
每日的更新,让自己更充实。
惠菁
我见过大海,看过繁星,但唯独遇见你,是我长久以来,所有奔赴的意义。
展开
-
【Java|golang】2103. 环和杆---位运算
总计有 n 个环,环的颜色可以是红、绿、蓝中的一种。这些环分别穿在 10 根编号为 0 到 9 的杆上。给你一个长度为 2n 的字符串 rings ,表示这 n 个环在杆上的分布。rings 中每两个字符形成一个 颜色位置对 ,用于描述每个环:第 i 对中的 第一个 字符表示第 i 个环的 颜色('R'、'G'、'B')。第 i 对中的 第二个 字符表示第 i 个环的 位置,也就是位于哪根杆上('0' 到 '9')。例如,"R3G2B1" 表示:共有 n == 3 个环,红色的环在编号为 3 的原创 2023-11-02 19:55:48 · 317 阅读 · 0 评论 -
【Java|golang】2500. 删除每行中的最大值
给你一个 m x n 大小的矩阵 grid ,由若干正整数组成。执行下述操作,直到 grid 变为空矩阵:从每一行删除值最大的元素。如果存在多个这样的值,删除其中任何一个。将删除元素中的最大值与答案相加。注意 每执行一次操作,矩阵中列的数据就会减 1 。返回执行上述操作后的答案。原创 2023-07-28 14:56:04 · 451 阅读 · 0 评论 -
【Java|golang】860. 柠檬水找零
柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。原创 2023-07-26 18:02:02 · 340 阅读 · 0 评论 -
【java】2208. 将数组和减半的最少操作次数
给你一个正整数数组 nums 。每一次操作中,你可以从 nums 中选择 任意 一个数并将它减小到 恰好 一半。(注意,在后续操作中你可以对减半过的数继续执行操作)请你返回将 nums 数组和 至少 减少一半的 最少 操作数。原创 2023-07-25 20:00:00 · 324 阅读 · 0 评论 -
【Java|golang】415. 字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。原创 2023-07-17 18:00:00 · 394 阅读 · 0 评论 -
【Java|golang】2679. 矩阵中的和
给你一个下标从 0 开始的二维整数数组 nums 。一开始你的分数为 0 。你需要执行以下操作直到矩阵变为空:矩阵中每一行选取最大的一个数,并删除它。如果一行中有多个最大的数,选择任意一个并删除。在步骤 1 删除的所有数字中找到最大的一个数字,将它添加到你的 分数 中。请你返回最后的 分数 。原创 2023-07-04 18:15:00 · 789 阅读 · 0 评论 -
【Java|golang】2465. 不同的平均值数目
给你一个下标从 0 开始长度为 偶数 的整数数组 nums 。只要 nums 不是 空数组,你就重复执行以下步骤:找到 nums 中的最小值,并删除它。找到 nums 中的最大值,并删除它。计算删除两数的平均值。两数 a 和 b 的 平均值 为 (a + b) / 2 。比方说,2 和 3 的平均值是 (2 + 3) / 2 = 2.5 。返回上述过程能得到的 不同 平均值的数目。注意 ,如果最小值或者最大值有重复元素,可以删除任意一个。原创 2023-06-09 21:15:00 · 1142 阅读 · 0 评论 -
【Java|golang】2460. 对数组执行操作
给你一个下标从 0 开始的数组 nums ,数组大小为 n ,且由 非负 整数组成。你需要对数组执行 n - 1 步操作,其中第 i 步操作(从 0 开始计数)要求对 nums 中第 i 个元素执行下述指令:如果 nums[i] == nums[i + 1] ,则 nums[i] 的值变成原来的 2 倍,nums[i + 1] 的值变成 0 。否则,跳过这步操作。在执行完 全部 操作后,将所有 0 移动 到数组的 末尾 。例如,数组 [1,0,2,0,0,1] 将所有 0 移动到末尾后变为 [原创 2023-06-08 18:00:00 · 624 阅读 · 0 评论 -
【Java|golang】2559. 统计范围内的元音字符串数
给你一个下标从 0 开始的字符串数组 words 以及一个二维整数数组 queries 。每个查询 queries[i] = [li, ri] 会要求我们统计在 words 中下标在 li 到 ri 范围内(包含 这两个值)并且以元音开头和结尾的字符串的数目。返回一个整数数组,其中数组的第 i 个元素对应第 i 个查询的答案。注意:元音字母是 'a'、'e'、'i'、'o' 和 'u' 。原创 2023-06-02 15:47:13 · 353 阅读 · 0 评论 -
【Java|golang】1072. 按列翻转得到最大值等行数
给定 m x n 矩阵 matrix 。你可以从中选出任意数量的列并翻转其上的 每个 单元格。(即翻转后,单元格的值从 0 变成 1,或者从 1 变为 0 。)返回 经过一些翻转后,行与行之间所有值都相等的最大行数 。原创 2023-05-15 19:15:00 · 668 阅读 · 0 评论 -
【Java|golang】1015. 可被 K 整除的最小整数
给定正整数 k ,你需要找出可以被 k 整除的、仅包含数字 1 的最 小 正整数 n 的长度。返回 n 的长度。如果不存在这样的 n ,就返回-1。注意: n 不符合 64 位带符号整数。原创 2023-05-10 18:00:00 · 290 阅读 · 0 评论 -
【Java|golang】2437. 有效时间的数目
给你一个长度为 5 的字符串 time ,表示一个电子时钟当前的时间,格式为 "hh:mm" 。最早 可能的时间是 "00:00" ,最晚 可能的时间是 "23:59" 。在字符串 time 中,被字符 ? 替换掉的数位是 未知的 ,被替换的数字可能是 0 到 9 中的任何一个。请你返回一个整数 answer ,将每一个 ? 都用 0 到 9 中一个数字替换后,可以得到的有效时间的数目。原创 2023-05-09 20:49:00 · 607 阅读 · 0 评论 -
【Java|golang】1010. 总持续时间可被 60 整除的歌曲
在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望下标数字 i 和 j 满足 i < j 且有 (time[i] + time[j]) % 60 == 0。原创 2023-05-08 18:15:00 · 630 阅读 · 0 评论 -
【Java|golang】1419. 数青蛙
给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 "croak" )的组合。由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs 中会混合多个 “croak” 。请你返回模拟字符串中所有蛙鸣所需不同青蛙的最少数目。要想发出蛙鸣 "croak",青蛙必须 依序 输出 ‘c’, ’r’, ’o’, ’a’, ’k’ 这 5 个字母。如果没有输出全部五个字母,那么它就不会发出声音。如果字符串 croakOfFrogs 不是由若干有效的 "croak" 字符混合而成原创 2023-05-06 18:15:00 · 771 阅读 · 0 评论 -
【Java|golang】2432. 处理用时最长的那个任务的员工
共有 n 位员工,每位员工都有一个从 0 到 n - 1 的唯一 id 。给你一个二维整数数组 logs ,其中 logs[i] = [idi, leaveTimei] :idi 是处理第 i 个任务的员工的 id ,且leaveTimei 是员工完成第 i 个任务的时刻。所有 leaveTimei 的值都是 唯一 的。注意,第 i 个任务在第 (i - 1) 个任务结束后立即开始,且第 0 个任务从时刻 0 开始。返回处理用时最长的那个任务的员工的 id 。如果存在两个或多个员工同时满足,原创 2023-05-05 18:00:00 · 779 阅读 · 0 评论 -
【Java|golang】1003. 检查替换后的词是否有效
给你一个字符串 s ,请你判断它是否 有效 。字符串 s 有效 需要满足:假设开始有一个空字符串 t = "" ,你可以执行 任意次 下述操作将 t 转换为 s :将字符串 "abc" 插入到 t 中的任意位置。形式上,t 变为 tleft + "abc" + tright,其中 t == tleft + tright 。注意,tleft 和 tright 可能为 空 。如果字符串 s 有效,则返回 true;否则,返回 false。原创 2023-05-04 18:15:00 · 679 阅读 · 0 评论 -
【Java|golang】2409. 统计共同度过的日子数---golang中全局变量带来的坑
Alice 和 Bob 计划分别去罗马开会。给你四个字符串 arriveAlice ,leaveAlice ,arriveBob 和 leaveBob 。Alice 会在日期 arriveAlice 到 leaveAlice 之间在城市里(日期为闭区间),而 Bob 在日期 arriveBob 到 leaveBob 之间在城市里(日期为闭区间)。每个字符串都包含 5 个字符,格式为 "MM-DD" ,对应着一个日期的月和日。请你返回 Alice和 Bob 同时在罗马的天数。你可以假设所有日期都在原创 2023-04-17 18:00:00 · 607 阅读 · 0 评论 -
【Java|golang】2383. 赢得比赛需要的最少训练时长
击败第 i 个对手会使你的经验 增加 experience[i],但会将你的精力 减少 energy[i] 。在开始比赛前,你可以训练几个小时。每训练一个小时,你可以选择将增加经验增加 1 或者 将精力增加 1 。返回击败全部 n 个对手需要训练的 最少 小时数目。原创 2023-03-13 18:45:00 · 160 阅读 · 0 评论 -
【Java|golang】2373. 矩阵中的局部最大值
给你一个大小为 n x n 的整数矩阵 grid 。生成一个大小为 (n - 2) x (n - 2) 的整数矩阵 maxLocal ,并满足:maxLocal[i][j] 等于 grid 中以 i + 1 行和 j + 1 列为中心的 3 x 3 矩阵中的 最大值 。换句话说,我们希望找出 grid 中每个 3 x 3 矩阵中的最大值。返回生成的矩阵。原创 2023-03-01 18:15:00 · 325 阅读 · 0 评论 -
【Java|golang】2335. 装满杯子需要的最短总时长
现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。原创 2023-02-11 19:29:14 · 560 阅读 · 0 评论 -
【Java|golang】1798. 你能构造出连续值的最大数目
给你一个长度为 n 的整数数组 coins ,它代表你拥有的 n 个硬币。第 i 个硬币的值为 coins[i] 。如果你从这些硬币中选出一部分硬币,它们的和为 x ,那么称,你可以 构造 出 x 。原创 2023-02-10 19:47:26 · 592 阅读 · 0 评论 -
【Java|golang】1233. 删除子文件夹
你是一位系统管理员,手里有一份文件夹列表 folder,你的任务是要删除该列表中的所有 子文件夹,并以 任意顺序 返回剩下的文件夹。原创 2023-02-08 15:19:26 · 311 阅读 · 0 评论 -
【Java|golang】1604. 警告一小时内使用相同员工卡大于等于三次的人
力扣公司的员工都使用员工卡来开办公室的门。每当一个员工使用一次他的员工卡,安保系统会记录下员工的名字和使用时间。如果一个员工在一小时时间内使用员工卡的次数大于等于三次,这个系统会自动发布一个 警告 。原创 2023-02-07 14:22:35 · 340 阅读 · 0 评论 -
【Java|golang】2331. 计算布尔二叉树的值
给你一棵 完整二叉树 的根,这棵树有以下特征:原创 2023-02-06 20:18:18 · 97 阅读 · 0 评论 -
【Java|golang】2319. 判断矩阵是否是一个 X 矩阵
如果一个正方形矩阵满足下述 全部 条件,则称之为一个 X 矩阵 :原创 2023-02-02 21:21:35 · 120 阅读 · 0 评论 -
【Java|golang】2325. 解密消息
给你字符串 key 和 message ,分别表示一个加密密钥和一段加密消息。解密 message 的步骤如下:原创 2023-02-01 20:35:54 · 287 阅读 · 0 评论 -
【Java|golang】1664. 生成平衡数组的方案数---奇数前缀和 + 偶数前缀和
给你一个整数数组 nums 。你需要选择 恰好 一个下标(下标从 0 开始)并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。原创 2023-01-28 21:47:17 · 221 阅读 · 0 评论 -
【Java|golang】2309. 兼具大小写的最好英文字母---桶排序
给你一个由英文字母组成的字符串 s ,请你找出并返回 s 中的 最好 英文字母。返回的字母必须为大写形式。如果不存在满足条件的字母,则返回一个空字符串。原创 2023-01-27 23:16:53 · 340 阅读 · 0 评论 -
【Java|golang】1663. 具有给定数值的最小字符串---int32切片类型转化string
小写字符 的 数值 是它在字母表中的位置(从 1 开始),因此 a 的数值为 1 ,b 的数值为 2 ,c 的数值为 3 ,以此类推。原创 2023-01-26 20:28:29 · 714 阅读 · 0 评论 -
【Java|golang】1828. 统计一个圆中点的数目
给你一个数组 points ,其中 points[i] = [xi, yi] ,表示第 i 个点在二维平面上的坐标。多个点可能会有 相同 的坐标。原创 2023-01-24 17:03:36 · 399 阅读 · 0 评论 -
【Java|golang】2303. 计算应缴税款总额
给你一个下标从 0 开始的二维整数数组 brackets ,其中 brackets[i] = [upperi, percenti] ,表示第 i 个税级的上限是 upperi ,征收的税率为 percenti 。税级按上限 从低到高排序(在满足 0 < i < brackets.length 的前提下,upperi-1 < upperi)。原创 2023-01-23 19:24:22 · 1104 阅读 · 0 评论 -
【Java|golang】2287. 重排字符形成目标字符串
给你两个下标从 0 开始的字符串 s 和 target 。你可以从 s 取出一些字符并将其重排,得到若干新的字符串。原创 2023-01-22 13:50:40 · 1524 阅读 · 0 评论 -
【Java|golang】1807. 替换字符串中的括号内容
给你一个字符串 s ,它包含一些括号对,每个括号中包含一个 非空 的键。原创 2023-01-21 20:35:25 · 1143 阅读 · 0 评论 -
【Java|golang】2299. 强密码检验器 II
如果一个密码满足以下所有条件,我们称它是一个 强 密码:原创 2023-01-19 23:14:26 · 1473 阅读 · 0 评论 -
【Java|golang】2293. 极大极小游戏
给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。原创 2023-01-18 20:51:13 · 982 阅读 · 0 评论 -
【Java|golang】1814. 统计一个数组中好对子的数目
给你一个数组 nums ,数组中只包含非负整数。定义 rev(x) 的值为将整数 x 各个数字位反转得到的结果。比方说 rev(123) = 321 , rev(120) = 21 。我们称满足下面条件的下标对 (i, j) 是 好的 :原创 2023-01-17 12:23:23 · 422 阅读 · 0 评论 -
【Java|golang】1813. 句子相似性 III
一个句子是由一些单词与它们之间的单个空格组成,且句子的开头和结尾没有多余空格。比方说,"Hello World" ,"HELLO" ,"hello world hello world" 都是句子。每个单词都 只 包含大写和小写英文字母。原创 2023-01-16 18:13:48 · 556 阅读 · 0 评论 -
【Java|golang】2283. 判断一个数的数字计数是否等于数位的值
给你一个下标从 0 开始长度为 n 的字符串 num ,它只包含数字。原创 2023-01-11 09:08:59 · 281 阅读 · 0 评论 -
【Java|golang】2185. 统计包含给定前缀的字符串---实现字典树
给你一个字符串数组 words 和一个字符串 pref 。原创 2023-01-09 22:42:19 · 94 阅读 · 0 评论 -
【Java|golang】2180. 统计各位数字之和为偶数的整数个数---避免时间复杂度O(N)
给你一个正整数 num ,请你统计并返回 小于或等于 num 且各位数字之和为 偶数 的正整数的数目。原创 2023-01-06 16:59:04 · 188 阅读 · 0 评论