leetcode
文章平均质量分 71
木秀林
多年java老兵,深耕Java,喜欢研究源码,热衷于探索最新技术,持续建设自己的知识体系,希望我的文章能帮到你~
展开
-
国庆不停 力扣leetcode 777. 在LR字符串中交换相邻字符
国庆本来打算回家去,结果感冒了。。。无奈,只能待在杭州刷题了。原创 2022-10-02 18:18:05 · 427 阅读 · 35 评论 -
力扣leetcode 模拟题 1694. 重新格式化电话号码
注意,重新格式化过程中 不应该 生成仅含 1 个数字的块,并且 最多 生成两个含 2 个数字的块。步骤 2:剩下 4 个数字,所以将它们分成两个含 2 个数字的块。步骤 1:共有超过 4 个数字,所以先取 3 个数字分为一组。步骤 2:剩下 3 个数字,将它们放入单个含 3 个数字的块。步骤 1:共有超过 4 个数字,所以先取 3 个数字分为一组。步骤 3:剩下 2 个数字,将它们放入单个含 2 个数字的块。连接这些块后得到 “123-456-78”。4 个数字:两个分别含 2 个数字的块。原创 2022-10-01 20:39:51 · 326 阅读 · 16 评论 -
[坚持打卡23天]力扣leetcode 面试题 01.08. 零矩阵
思路就是利用行列都会消掉,把矩阵的0位用来存储是否消除,节省了m+n的空间,但是需要注意如果开始0位上有0,那么需要额外处理对应行列;和稀疏图一样,我们使用m x n 的矩阵很多空间是浪费掉了,我们只需要一行或者一列即可,同时遍历的时候也只需要满足在行列上有0即可。开始看题解了,第一遍还没懂,中等难度也可能是在这里,实现出来简单,要求对应时间空间复杂度的难想;编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。欢迎评论区交流,每日打卡,冲冲冲!这道题,标注是中等题。原创 2022-09-30 22:59:23 · 1039 阅读 · 3 评论 -
leetcode刷题[22天小总结] 面试题 01.09. 字符串轮转
给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。输入:s1 = “waterbottle”, s2 = “erbottlewat”21天能够形成一个习惯,从7号开始开始坚持刷题,已经23天了。输入:s1 = “aa”, s2 = “aba”字符串长度在[0, 100000]范围内。欢迎评论区交流,每日打卡,冲冲冲!你能只调用一次检查子串的方法吗?原创 2022-09-30 21:17:00 · 470 阅读 · 0 评论 -
力扣leetcode 面试题 01.02. 判定是否互为字符重排
判断是否互为字符重排,那么必然是长度相等,相同的字符相等;欢迎评论区交流,每日打卡,冲冲冲!原创 2022-09-27 08:55:31 · 235 阅读 · 2 评论 -
力扣leetcode 面试题 17.19. 消失的两个数字
通过数组下标和值映射,不再一个的就交换,最终遍历一遍就得到了缺失的数,这个和前面刷到的一道题解法一致。第一反应又是暴力求解,排序后取两个,但是时间不满足。欢迎评论区交流,每日打卡,冲冲冲!原创 2022-09-26 21:22:10 · 683 阅读 · 0 评论 -
力扣leetcode 1652. 拆炸弹
解密后的密码为 [7+1+4, 1+4+5, 4+5+7, 5+7+1]。由于 code 是循环的, code[n-1] 下一个元素是 code[0] ,且 code[0] 前一个元素是 code[n-1]。解释:解密后的密码为 [3+9, 2+3, 4+2, 9+4]。输入:code = [2,4,9,3], k = -2。输入:code = [5,7,1,4], k = 3。输入:code = [1,2,3,4], k = 0。输出:[12,5,6,13]输出:[0,0,0,0]原创 2022-09-24 21:52:33 · 140 阅读 · 2 评论 -
力扣leetcode 1640. 能否连接形成数组
另有一个由整数数组构成的数组 pieces,其中的整数也 互不相同。pieces 中的整数 互不相同(也就是说,如果将 pieces 扁平化成一维数组,数组中的所有整数互不相同)输入:arr = [91,4,64,78], pieces = [[78],[4,64],[91]]输入:arr = [49,18,16], pieces = [[16,18,49]]输入:arr = [15,88], pieces = [[88],[15]]解释:依次连接 [91]、[4,64] 和 [78]原创 2022-09-22 12:50:17 · 759 阅读 · 3 评论 -
力扣leetcode 698. 划分为k个相等的子集
给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4。输入: nums = [1,2,3,4], k = 3。欢迎评论区交流,每日打卡,冲冲冲!每个元素的频率在 [1,4] 范围内。原创 2022-09-20 21:04:01 · 566 阅读 · 14 评论 -
力扣leetcode 827. 最大人工岛
最多 只能将一格 0 变成 1。解释: 将一格0变成1,最终连通两个小岛得到面积为 3 的岛屿。输入: grid = [[1, 0], [0, 1]]输入: grid = [[1, 1], [1, 0]]输入: grid = [[1, 1], [1, 1]]岛屿 由一组上、下、左、右四个方向相连的 1 形成。解释: 没有0可以让我们变成1,面积依然为 4。解释: 将一格0变成1,岛屿的面积扩大为 4。欢迎评论区交流,每日打卡,冲冲冲!grid[i][j] 为 0 或 1。原创 2022-09-19 19:43:35 · 373 阅读 · 18 评论 -
力扣leetcode1636. 按照频率将数组升序排序
给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。解释:‘2’ 和 ‘3’ 频率都为 2 ,所以它们之间按照数值本身降序排序。解释:‘3’ 频率为 1,‘1’ 频率为 2,‘2’ 频率为 3。输入:nums = [-1,1,-6,4,5,-6,1,4,1]输出:[5,-1,4,4,-6,-6,1,1,1]输入:nums = [1,1,2,2,2,3]输入:nums = [2,3,1,3,2]欢迎评论区交流,每日打卡,冲冲冲!输出:[3,1,1,2,2,2]输出:[1,3,3,2,2]原创 2022-09-19 13:11:23 · 260 阅读 · 8 评论 -
力扣leetcode 1624. 两个相同字符之间的最长子字符串
给你一个字符串 s,请你返回 两个相同字符之间的最长子字符串的长度 ,计算长度时不含这两个字符。如果不存在这样的子字符串,返回 -1。解释:最优的子字符串是 “abba” ,其他的非最优解包括 “bb” 和 “”。解释:s 中不存在出现出现两次的字符,所以返回 -1。解释:最优的子字符串是两个 ‘a’ 之间的空子字符串。欢迎评论区交流,每日打卡,冲冲冲!解释:最优的子字符串是 “bc”。输入:s = “cabbac”输入:s = “cbzxy”输入:s = “abca”输入:s = “aa”原创 2022-09-17 16:23:33 · 208 阅读 · 1 评论 -
力扣leetcode 850. 矩形面积 II 【困难】
ps: 昨天同事离职聚餐搞太晚了,今天补上。。。原创 2022-09-17 15:59:38 · 396 阅读 · 1 评论 -
力扣leetcode 672. 灯泡开关 Ⅱ
开关 4 :反转编号为 j = 3k + 1 的灯的状态,其中 k = 0, 1, 2, …(即 1, 4, 7, 10, …开关 2 :反转编号为偶数的灯的状态(即 2, 4, …开关 3 :反转编号为奇数的灯的状态(即 1, 3, …开关 1 :反转当前所有灯的状态(即开变为关,关变为开)输入:n = 1, presses = 1。输入:n = 2, presses = 1。输入:n = 3, presses = 1。欢迎评论区交流,每日打卡,冲冲冲!开关数目有限,可变空间有限。原创 2022-09-15 20:40:00 · 245 阅读 · 2 评论 -
力扣leetcode 1619. 删除某些元素后的数组均值
输入:arr = [4,8,4,10,0,7,1,3,7,8,8,3,4,1,6,2,1,1,8,0,9,8,0,3,9,10,3,10,1,10,7,3,2,1,4,9,10,7,6,4,0,8,5,1,2,1,6,2,5,0,7,10,9,10,3,7,10,5,8,5,7,6,7,6,10,9,5,10,5,5,7,2,10,7,7,8,2,0,1,1]输入:arr = [1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3]欢迎评论区交流,每日打卡,冲冲冲!原创 2022-09-14 20:53:08 · 365 阅读 · 14 评论 -
力扣leetcode 670. 最大交换
给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。欢迎评论区交流,每日打卡,冲冲冲!给定数字的范围是 [0, 10^8]解释: 交换数字2和数字7。解释: 不需要交换。原创 2022-09-13 08:58:59 · 430 阅读 · 6 评论 -
力扣leetcode 1608. 特殊数组的特征值
如果存在一个数 x ,使得 nums 中恰好有 x 个元素 大于或者等于 x ,那么就称 nums 是一个 特殊数组 ,而 x 是该数组的 特征值。可以证明的是,如果 nums 是特殊数组,那么其特征值 x 是 唯一的。如果 x = 0,应该有 0 个元素 >= x,但实际有 2 个。如果 x = 1,应该有 1 个元素 >= x,但实际有 0 个。如果 x = 2,应该有 2 个元素 >= x,但实际有 0 个。输入:nums = [0,4,3,0,4]输入:nums = [3,6,7,7,0]原创 2022-09-12 11:12:31 · 336 阅读 · 13 评论 -
力扣leetcode 857. 雇佣 K 名工人的最低成本
给定两个数组 quality 和 wage ,其中,quality[i] 表示第 i 名工人的工作质量,其最低期望工资为 wage[i]。输入: quality = [3,1,10,10,1], wage = [4,8,2,2,7], k = 3。输入: quality = [10,20,5], wage = [70,50,30], k = 2。对工资组中的每名工人,应当按其工作质量与同组其他工人的工作质量的比例来支付工资。对工资组中的每名工人,应当按其工作质量与同组其他工人的工作质量的比例来支付工资。原创 2022-09-11 14:48:57 · 245 阅读 · 11 评论 -
力扣leetcode 669. 修剪二叉搜索树
通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。输入:root = [3,0,4,null,2,null,null,1], low = 1, high = 3。二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)输入:root = [1,0,2], low = 1, high = 2。欢迎评论区交流,每日打卡,冲冲冲!输出:[3,2,null,1]原创 2022-09-10 23:38:28 · 241 阅读 · 8 评论 -
力扣leetcode 1218. 最长定差子序列
输入:arr = [1,5,7,8,5,3,4,2,1], difference = -2。// 所以需要从a0-an开始都找一遍,中间可以优化的是:am-an=dif的项不需要找。// 那意味着,我们可以找到某个元素的下一个元素之差 是difference的。输入:arr = [1,2,3,4], difference = 1。输入:arr = [1,3,5,7], difference = 1。解释:最长的等差子序列是 [1,2,3,4]。解释:最长的等差子序列是 [7,5,3,1]。原创 2022-09-09 15:36:56 · 185 阅读 · 0 评论 -
力扣leetcode 667. 优美的排列 II
/ 构建n的数组 int [ ] ret = new int [ n ];// 将第一个赋值为1 ret [ 0 ] = 1;// 循环遍历 for(int i = 1;i ++) {// 如果k是大于0的,说明还需要构建不同的差值 if(k > 0) {// 同时数是有限制的,一直加会导致数重复出现,所以隔一取反,就刚好凑成了绝对值递减 ret [ i ] = ret [ i - 1 ] +(i % 2 == 1?} else {原创 2022-09-08 13:22:49 · 286 阅读 · 9 评论 -
力扣leetcode 最简单的中等题 2161. 根据给定数字划分数组
力扣leetcode。原创 2022-09-07 23:57:19 · 341 阅读 · 8 评论 -
Leetcode 1592. 重新排列单词间的空格
请你重新排列空格,使每对相邻单词之间的空格数目都 相等 ,并尽可能 最大化 该数目。如果不能重新平均分配所有空格,请 将多余的空格放置在字符串末尾 ,这也意味着返回的字符串应当与原 text 字符串的长度相等。给你一个字符串 text ,该字符串由若干被空格包围的单词组成。可以将 9 个空格平均分配到相邻单词之间,相邻单词间空格数为:9 / (4-1) = 3 个。7 / (3-1) = 3 个空格加上 1 个多余的空格。输入:text = " this is a sentence "原创 2022-09-07 22:57:30 · 187 阅读 · 2 评论 -
leetcode 面试题 04.01. 节点间通路 BFS、DFS
【代码】leetcode 面试题 04.01. 节点间通路 BFS、DFS。原创 2022-09-07 15:19:22 · 260 阅读 · 1 评论