2024年11月刷题记录
2024年11月2日
【leetcode】3226. 使两个整数相等的位更改次数
题意:
给你两个正整数
n
和k
。你可以选择
n
的 二进制表示 中任意一个值为 1 的位,并将其改为 0。返回使得
n
等于k
所需要的更改次数。如果无法实现,返回 -1。
2024年11月3日
【leetcode】151. 反转字符串中的单词
题意:
给你一个字符串
s
,请你反转字符串中 单词 的顺序。单词 是由非空格字符组成的字符串。
s
中使用至少一个空格将字符串中的 单词 分隔开。返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。
注意:输入字符串
s
中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。
2024年11月4日
【leetcode】633. 平方数之和
题意:
给定一个非负整数
c
,你要判断是否存在两个整数a
和b
,使得a^2 + b^2 = c
。
2024年11月5日
【leetcode】3222. 求出硬币游戏的赢家
题意:
给你两个 正 整数
x
和y
,分别表示价值为 75 和 10 的硬币的数目。Alice 和 Bob 正在玩一个游戏。每一轮中,Alice 先进行操作,Bob 后操作。每次操作中,玩家需要拿出价值 总和 为 115 的硬币。如果一名玩家无法执行此操作,那么这名玩家 输掉 游戏。
两名玩家都采取 最优 策略,请你返回游戏的赢家。
2024年11月6日
【leetcode】3254. 长度为 K 的子数组的能量值 I
题意:
给你两个 正 整数
x
和y
,分别表示价值为 75 和 10 的硬币的数目。Alice 和 Bob 正在玩一个游戏。每一轮中,Alice 先进行操作,Bob 后操作。每次操作中,玩家需要拿出价值 总和 为 115 的硬币。如果一名玩家无法执行此操作,那么这名玩家 输掉 游戏。
两名玩家都采取 最优 策略,请你返回游戏的赢家。
2024年11月7日
【leetcode】3255. 长度为 K 的子数组的能量值 II
题意:
给你一个长度为
n
的整数数组nums
和一个正整数k
。一个数组的 能量值 定义为:
- 如果 所有 元素都是依次 连续 且 上升 的,那么能量值为 最大 的元素。
- 否则为 -1 。
你需要求出
nums
中所有长度为k
的子数组的能量值。请你返回一个长度为
n - k + 1
的整数数组results
,其中results[i]
是子数组nums[i..(i + k - 1)]
的能量值。
2024年11月8日
【leetcode】219. 存在重复元素 II
题意:
给你一个整数数组
nums
和一个整数k
,判断数组中是否存在两个 不同的索引i
和j
,满足nums[i] == nums[j]
且abs(i - j) <= k
。如果存在,返回true
;否则,返回false
。
2024年11月9日
【leetcode】3242. 设计相邻元素求和服务
题意:
给你一个
n x n
的二维数组grid
,它包含范围[0, n^2 - 1]
内的不重复元素。实现
neighborSum
类:
neighborSum(int [][]grid)
初始化对象。int adjacentSum(int value)
返回在grid
中与value
相邻的元素之和,相邻指的是与value
在上、左、右或下的元素。int diagonalSum(int value)
返回在grid
中与value
对角线相邻的元素之和,对角线相邻指的是与value
在左上、右上、左下或右下的元素。
2024年11月10日
【leetcode】540. 有序数组中的单一元素
题意:
给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。
请你找出并返回只出现一次的那个数。
你设计的解决方案必须满足
O(log n)
时间复杂度和O(1)
空间复杂度。
2024年11月11日
【leetcode】28. 找出字符串中第一个匹配项的下标
题意:
给你两个字符串
haystack
和needle
,请你在haystack
字符串中找出needle
字符串的第一个匹配项的下标(下标从 0 开始)。如果needle
不是haystack
的一部分,则返回-1
。
2024年11月12日
【leetcode】3258. 统计满足 K 约束的子字符串数量 I
题意:
给你一个 二进制 字符串
s
和一个整数k
。如果一个 二进制字符串 满足以下任一条件,则认为该字符串满足 k 约束:
- 字符串中
0
的数量最多为k
。- 字符串中
1
的数量最多为k
。返回一个整数,表示
s
的所有满足 k 约束 的子字符串的数量。
2024年11月17日
【leetcode】3258. 统计满足 K 约束的子字符串数量 I
题意:
根据百度百科, 生命游戏 ,简称为 生命 ,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。
给定一个包含
m × n
个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1
即为 活细胞 (live),或0
即为 死细胞 (dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:
- 如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡;
- 如果活细胞周围八个位置有两个或三个活细胞,则该位置活细胞仍然存活;
- 如果活细胞周围八个位置有超过三个活细胞,则该位置活细胞死亡;
- 如果死细胞周围正好有三个活细胞,则该位置死细胞复活;
下一个状态是通过将上述规则同时应用于当前状态下的每个细胞所形成的,其中细胞的出生和死亡是同时发生的。给你
m x n
网格面板board
的当前状态,返回下一个状态。
2024年11月18日
【leetcode】661. 图片平滑器
题意:
图像平滑器 是大小为
3 x 3
的过滤器,用于对图像的每个单元格平滑处理,平滑处理后单元格的值为该单元格的平均灰度。每个单元格的 平均灰度 定义为:该单元格自身及其周围的 8 个单元格的平均值,结果需向下取整。(即,需要计算蓝色平滑器中 9 个单元格的平均值)。
如果一个单元格周围存在单元格缺失的情况,则计算平均灰度时不考虑缺失的单元格(即,需要计算红色平滑器中 4 个单元格的平均值)。
给你一个表示图像灰度的
m x n
整数矩阵img
,返回对图像的每个单元格平滑处理后的图像 。
2024年11月19日
【leetcode】637. 二叉树的层平均值
题意:
给定一个非空二叉树的根节点
root
, 以数组的形式返回每一层节点的平均值。与实际答案相差10^-5
以内的答案可以被接受。
2024年11月21日
【leetcode】3248. 矩阵中的蛇
题意:
大小为
n x n
的矩阵grid
中有一条蛇。蛇可以朝 四个可能的方向 移动。矩阵中的每个单元格都使用位置进行标识:grid[i][j] = (i * n) + j
。蛇从单元格 0 开始,并遵循一系列命令移动。
给你一个整数
n
表示grid
的大小,另给你一个字符串数组commands
,其中包括"UP"
、"RIGHT"
、"DOWN"
和"LEFT"
。题目测评数据保证蛇在整个移动过程中将始终位于grid
边界内。返回执行
commands
后蛇所停留的最终单元格的位置。