
python
Joyner2018
这个作者很懒,什么都没留下…
展开
-
python-leetcode-1365. 有多少小于当前数字的数字
可以使用。原创 2025-04-04 01:00:00 · 232 阅读 · 0 评论 -
python-leetcode-1403. 非递增顺序的最小子序列
为了找到一个满足题目条件的子序列,可以使用贪心算法,逐步选择最大的元素来构建子序列,直到该子序列的元素之和严格大于未包含在该子序列中的元素之和。原创 2025-04-04 03:30:00 · 614 阅读 · 0 评论 -
python-leetcode-1379. 找出克隆二叉树中的相同节点
是树的高度,在最坏情况下(不平衡二叉树)可能接近。的精确副本,因此它们的结构相同,你可以在遍历。:适用于深度较大的树,避免递归栈溢出。是树的节点个数,每个节点访问一次。子树,如果找到了,直接返回。:代码简洁,适用于大多数情况。这两种方法都能高效解决问题!树中相应的节点就是答案。,而在平衡树的情况下则为。如果不想用递归,可以用。原创 2025-04-04 02:00:00 · 201 阅读 · 0 评论 -
python-leetcode-1356. 根据数字二进制下 1 的数目排序
可以使用 Python 的sorted函数,结合计算二进制中1的个数作为排序的主要依据,数值大小作为次要依据。原创 2025-04-04 00:30:00 · 70 阅读 · 0 评论 -
python-leetcode-1394. 找出数组中的幸运数
可以使用哈希表(字典)来记录每个整数出现的次数。:对于每个整数,检查它的值是否等于它在数组中出现的频次。:在符合条件的幸运数中,找出最大的一个。可以通过 Python 编程来实现这个逻辑。原创 2025-04-04 03:00:00 · 268 阅读 · 0 评论 -
python-leetcode-1346. 检查整数及其两倍数是否存在
可以使用哈希集合(Set)来高效地检查是否存在这样的数对。这个算法的时间复杂度是 O(n),因为我们只遍历了一次数组,并使用哈希集合来进行快速查找。原创 2025-04-04 00:00:00 · 147 阅读 · 0 评论 -
python-leetcode-1385. 两个数组间的距离值
这个问题的要求是计算两个数组arr1和arr2之间的 "距离值"。具体来说,对于每个arr1[i],我们需要检查是否存在arr2[j]使得。如果不存在这样的arr2[j],那么arr1[i]就符合条件,应该计入最终的结果。原创 2025-04-04 02:30:00 · 238 阅读 · 0 评论 -
python-leetcode-1374. 生成每种字符都是奇数个的字符串
可以使用贪心的方法构造这样一个字符串。由于英文字母有 26 个,我们可以简单地用一个字母重复 n 次,这样它在字符串中出现的次数就是 n,而我们只需要保证 n 是奇数即可。这样构造的字符串始终满足所有字符出现次数为奇数的要求,并且简单直观。个相同的字符,加上另一个不同的字符,比如。如果 n 是奇数,我们可以直接返回。如果 n 是偶数,我们可以返回。原创 2025-04-04 01:30:00 · 295 阅读 · 0 评论 -
python-leetcode-1389. 按既定顺序创建目标数组
这个问题可以通过模拟插入操作来解决。你需要根据给定的index数组的索引位置将nums数组的元素依次插入到目标数组target中。具体的步骤如下:创建一个空的目标数组target。遍历nums数组,对于每个元素nums[i],根据index[i]把它插入到target中的指定位置。最终得到目标数组target。你可以使用 Python 中的方法来将元素插入到指定位置。原创 2025-04-04 02:45:00 · 209 阅读 · 0 评论 -
python-leetcode-1399. 统计最大组的数目
这个问题的关键在于如何高效地计算从 1 到 n 的所有整数的数位和,并将它们根据数位和分组,然后找到哪个组的数字数目最多,并返回这种最多的组的个数。原创 2025-04-04 03:15:00 · 368 阅读 · 0 评论 -
python-leetcode-1380. 矩阵中的幸运数
要找出矩阵中的幸运数,我们需要遵循以下两个条件:在同一行的所有元素中最小。在同一列的所有元素中最大。:遍历矩阵的每一行,记录每行中的最小值以及该最小值所在的列索引。:对于每行找到的最小值的列索引,检查该列中是否是该列的最大值。如果是,则该元素是一个幸运数。原创 2025-04-04 02:15:00 · 336 阅读 · 0 评论 -
python-leetcode-1370. 上升下降字符串
来保持字符的顺序,并在每次遍历时删除计数为零的字符,从而高效地执行排序操作。)**来高效管理字符的频率,同时保持字符的排序。可以使用**有序集合(如 Python 的。原创 2025-04-04 01:15:00 · 53 阅读 · 0 评论 -
python-leetcode-1351. 统计有序矩阵中的负数
可以使用或来高效统计负数的个数。原创 2025-04-04 00:15:00 · 186 阅读 · 0 评论 -
python-leetcode-1360. 日期之间隔几天
将字符串转换为日期对象,然后计算两个日期之间的天数,并返回绝对值以确保结果始终为正数。来测试不同的日期间隔。原创 2025-04-04 00:45:00 · 139 阅读 · 0 评论 -
python-leetcode-1304. 和为零的 N 个不同整数
为了构造一个由 n 个不同整数构成的数组,并且使得这 n 个数的和为 0,我们可以使用一个简单的策略:选择 n - 1 个整数,然后最后一个整数使得总和为 0。当 n 是奇数时,可以选择一组对称的数,如 -1, 1, -2, 2, ..., 然后选择一个 0,剩下的整数依旧能保证和为 0。当 n 是偶数时,可以选择一组对称的数,如 -1, 1, -2, 2, ..., 然后最后一个数设为 0。比如,假设 n = 5,我们可以选择 [-2, -1, 0, 1, 2],这个数组的和为 0。原创 2025-04-03 01:15:00 · 211 阅读 · 0 评论 -
python-leetcode-1309. 解码字母到整数映射
这个问题是一个经典的字符串处理问题,我们需要根据给定的映射规则将字符串s转换为对应的小写字母。具体规则如下:'1' 到 '9' 映射为 'a' 到 'i'。'10#' 到 '26#' 映射为 'j' 到 'z'。我们可以遍历字符串s,并根据当前字符是否是数字来决定是映射为一个字母,还是需要检查是否存在以结尾的两位数映射。原创 2025-04-03 01:30:00 · 289 阅读 · 0 评论 -
python-leetcode-1281. 整数的各位积和之差
可以用 Python 来实现这个过程,如果你有具体的整数值,我也可以给你具体的结果。转换为数字数组或逐位提取各个数字。各位数字之积与各位数字之和的差。,可以给我,我帮你计算!原创 2025-04-03 00:00:00 · 219 阅读 · 0 评论 -
python-leetcode-1331. 数组序号转换
这个问题要求将数组中的每个元素替换为它们在排序后数组中的位置,位置的编号从 1 开始,且相同的数字应当有相同的编号。解决思路:先将数组中的元素进行排序,记录排序后每个元素的原始位置。对排序后的数组进行遍历,给每个元素分配一个序号。如果当前元素和前一个元素相同,则它们的序号应该相同;如果不同,序号则递增。最后,将这些序号映射回原始数组的位置。具体实现步骤:创建一个元素和其原始索引的列表。对这个列表按元素的值进行排序。然后遍历这个排序后的列表,给每个元素赋予正确的序号。原创 2025-04-03 02:45:00 · 196 阅读 · 0 评论 -
python-leetcode-1313. 解压缩编码列表
这个问题是典型的解压问题。给定一个整数列表nums,其中每一对表示有freq个值为val的元素。你需要根据这个规则解压列表。原创 2025-04-03 01:45:00 · 200 阅读 · 0 评论 -
python-leetcode-1332. 删除回文子序列
这个问题可以分成几种情况来考虑。我们需要找到最小删除次数使得字符串为空。原创 2025-04-03 03:00:00 · 593 阅读 · 0 评论 -
python-leetcode-1337. 矩阵中战斗力最弱的 K 行
该方法的时间复杂度为 O(m * n + m log m),其中 m 是矩阵的行数,n 是列数。排序的部分占 O(m log m),而计算军人数量占 O(m * n)。如果 n 很小(如常数级别),整体仍然是高效的。按照军人数量和索引进行排序,优先按军人数量排序,若相同则按行索引排序。可以使用 Python 来解决这个问题。遍历每一行,计算军人(1)的数量。将军人数量和行索引组成一个列表。原创 2025-04-03 03:15:00 · 172 阅读 · 0 评论 -
python-leetcode-1323. 6 和 9 组成的最大数字
为了得到最大数字,我们需要尽可能地将数字中的 6 转换为 9。因为这样能使数字变大。而对于 9,不需要做任何操作,因为它已经是最大值。我们可以通过以下步骤解决这个问题:遍历数字中的每一位。如果遇到第一个6,将其改为9,然后停止遍历,因为只允许做一次翻转操作。如果没有6,那么数字已经是最大值,无需进一步操作。原创 2025-04-03 02:15:00 · 187 阅读 · 0 评论 -
python-leetcode-1295. 统计位数为偶数的数字
是为了处理负数,确保我们只计算数字部分。将数字转为字符串,然后用。都是偶数位数的数字。),就将计数器加一。原创 2025-04-03 00:45:00 · 109 阅读 · 0 评论 -
python-leetcode-1342. 将数字变成 0 的操作次数
这个方法的时间复杂度是 O(logn) ,因为每次偶数都被除以 2,最多进行大约 log2(n)次操作。原创 2025-04-03 03:30:00 · 166 阅读 · 0 评论 -
python-leetcode-1317. 将整数转换为两个无零整数的和
可以通过遍历a从 1 到n-1,然后计算b = n - a。对于每一对(a, b),我们可以检查它们是否是无零整数。如果它们都没有零,那么就返回这对(a, b)。无零整数的检查可以通过将整数转换为字符串,查看其中是否包含字符 '0'。原创 2025-04-03 02:00:00 · 167 阅读 · 0 评论 -
python-leetcode-1299. 将每个元素替换为右侧最大元素
可以按照以下步骤解决这个问题:从右到左遍历数组,找到当前元素右边的最大元素。对于每个元素,将它替换为右边最大的元素。如果是最后一个元素,则替换为 -1。可以使用一个变量max_right来跟踪当前右边最大的元素。原创 2025-04-03 01:00:00 · 110 阅读 · 0 评论 -
python-leetcode-1287. 有序数组中出现次数超过25%的元素
要解决这个问题,我们需要找到一个整数,它在一个非递减的有序整数数组中出现的次数超过数组总数的25%。数组是非递减有序的,因此相同的元素会在相邻位置出现。由于数组中的一个元素的出现次数超过了总元素的25%,这个元素的出现次数肯定大于数组的长度除以4(即我们可以通过遍历数组并计算每个元素的出现次数来找到这个元素。原创 2025-04-03 00:15:00 · 230 阅读 · 0 评论 -
python-leetcode-1290. 二进制链表转整数
这个问题要求我们将一个表示二进制数的单链表转换成对应的十进制值。原创 2025-04-03 00:30:00 · 324 阅读 · 0 评论 -
python-leetcode-1275. 找出井字棋的获胜者
这个问题可以通过模拟井字棋的进程来解决。:一个 3x3 的二维数组,初始时所有格子都是空格 (' ')。:遍历给定的moves数组,每次根据轮次(A 或 B)更新棋盘的相应位置。:每次移动后,检查是否有玩家达成了获胜条件(即三颗相同的棋子排成一行、列或对角线)。如果有玩家获胜,返回该玩家的标识符('A' 或 'B')。如果所有格子已被填满且没有获胜者,返回 "Draw"。如果还有未填充的格子并且没有获胜者,返回 "Pending"。原创 2025-04-02 03:15:00 · 380 阅读 · 0 评论 -
python-leetcode-1211. 查询结果的质量和占比
你可以直接运行此查询来获取所需的结果!的查询数目,占总查询的百分比。将结果四舍五入到小数点后两位。可以使用 SQL 来计算。原创 2025-04-02 01:15:00 · 169 阅读 · 0 评论 -
python-leetcode-1221. 分割平衡字符串
可以使用贪心算法来解决这个问题。遍历字符串s,使用计数器count记录L和R出现的次数之差:遇到Lcount增加 1;遇到Rcount减少 1;每当count变为 0,说明找到了一个平衡子字符串,计数result加 1。原创 2025-04-02 01:45:00 · 163 阅读 · 0 评论 -
python-leetcode-1189. “气球” 的最大数量
取上述计算结果的最小值,即为最多可以拼凑出的 "balloon" 数量。最多能拼凑出多少个 "balloon" 了!中各个字母的出现次数,并计算能够组成单词。要计算最多可以拼凑出多少个单词。统计字符出现次数的复杂度为。这样,我们就能高效地计算。中各个字符的出现次数。,我们需要统计字符串。原创 2025-04-02 00:45:00 · 173 阅读 · 0 评论 -
python-leetcode-1232. 缀点成线
可以使用数学方法来判断这些点是否在同一条直线上。原创 2025-04-02 02:00:00 · 235 阅读 · 0 评论 -
python-leetcode-1184. 公交站间的距离
可以用两种方法计算从start到的总距离,即从start到直接累加distance。的总距离,即环形总距离减去顺时针方向的距离。然后取两者的较小值。原创 2025-04-02 00:15:00 · 243 阅读 · 0 评论 -
python-leetcode-1266. 访问所有点的最小时间
初始化总时间为 0。遍历每一对相邻的点,计算它们之间的最小时间。累加每一对点之间的最小时间。原创 2025-04-02 03:00:00 · 306 阅读 · 0 评论 -
python-leetcode-1217. 玩筹码
由于移动+2或-2的代价为0,意味着所有奇数位置的筹码可以互相移动而不产生代价,同理,所有偶数位置的筹码也可以互相移动而不产生代价。但从奇数位置移动到偶数位置,或者从偶数位置移动到奇数位置,每次都需要1的代价。统计所有位于的筹码数量odd_count。统计所有位于的筹码数量even_count。由于我们最终目标是把所有筹码移动到同一位置上,最优策略是将较少的筹码移动到较多的筹码所在的位置(因为移动的代价是1因此,最小代价是。原创 2025-04-02 01:30:00 · 326 阅读 · 0 评论 -
python-leetcode-1252. 奇数值单元格的数目
可以使用一个直接模拟的方法,或者更优化的方法来解决这个问题。原创 2025-04-02 02:30:00 · 385 阅读 · 0 评论 -
python-leetcode-1260. 二维网格迁移
这个问题的核心思想是模拟二维网格中的元素迁移,按照题目的描述进行多次循环操作。每次迁移,我们需要注意到:每一行的元素会向右移动。每一行最后的元素会移到下一行的第一列。最后一行的最后一个元素会移到第一行的第一列。原创 2025-04-02 02:45:00 · 362 阅读 · 0 评论 -
python-leetcode-1200. 最小绝对差
这样相邻元素的差值就是绝对差的最小可能值之一。,计算相邻元素的差值,并找到最小的绝对差。,找出所有具有这个最小绝对差的元素对,并存入结果列表中。原创 2025-04-02 01:00:00 · 332 阅读 · 0 评论 -
python-leetcode-1185. 一周中的第几天
可以使用蔡勒公式(Zeller's Congruence)来计算给定日期是星期几。这个实现使用了蔡勒公式来计算星期几。你可以尝试其他日期来测试它的正确性。原创 2025-04-02 00:30:00 · 127 阅读 · 0 评论