自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(627)
  • 收藏
  • 关注

原创 sql-leetcode-1280. 学生们参加各科测试的次数

目标是查询每个学生和所有科目的组合(即即使某个学生没有参加某个科目的考试,也需要显示该组合),那么需要使用来获取学生和所有科目的组合,并通过LEFT JOIN来获取每个学生参加考试的次数。查询的步骤如下:首先,您需要获取所有学生和所有科目的组合。然后,您需要将表通过LEFT JOIN连接,以便获取每个学生和每门科目的考试记录(即使学生没有参加某门科目的考试,依然会显示该学生和该科目的组合)。最后,计算每个学生在每门科目上的考试次数。

2025-04-02 03:30:00 222

原创 python-leetcode-1275. 找出井字棋的获胜者

这个问题可以通过模拟井字棋的进程来解决。:一个 3x3 的二维数组,初始时所有格子都是空格 (' ')。:遍历给定的moves数组,每次根据轮次(A 或 B)更新棋盘的相应位置。:每次移动后,检查是否有玩家达成了获胜条件(即三颗相同的棋子排成一行、列或对角线)。如果有玩家获胜,返回该玩家的标识符('A' 或 'B')。如果所有格子已被填满且没有获胜者,返回 "Draw"。如果还有未填充的格子并且没有获胜者,返回 "Pending"。

2025-04-02 03:15:00 110

原创 python-leetcode-1266. 访问所有点的最小时间

初始化总时间为 0。遍历每一对相邻的点,计算它们之间的最小时间。累加每一对点之间的最小时间。

2025-04-02 03:00:00 202

原创 python-leetcode-1260. 二维网格迁移

这个问题的核心思想是模拟二维网格中的元素迁移,按照题目的描述进行多次循环操作。每次迁移,我们需要注意到:每一行的元素会向右移动。每一行最后的元素会移到下一行的第一列。最后一行的最后一个元素会移到第一行的第一列。

2025-04-02 02:45:00 113

原创 python-leetcode-1252. 奇数值单元格的数目

可以使用一个直接模拟的方法,或者更优化的方法来解决这个问题。

2025-04-02 02:30:00 203

原创 sql-leetcode-1251. 平均售价

可以使用 SQL 来计算每种产品的平均售价,方法是通过JOIN连接Prices表和UnitsSold表,确保购买日期 () 在价格生效区间 (start_date和end_date) 内。然后,计算销售额并求平均值。

2025-04-02 02:15:00 236

原创 python-leetcode-1232. 缀点成线

可以使用数学方法来判断这些点是否在同一条直线上。

2025-04-02 02:00:00 168

原创 python-leetcode-1221. 分割平衡字符串

可以使用贪心算法来解决这个问题。遍历字符串s,使用计数器count记录L和R出现的次数之差:遇到Lcount增加 1;遇到Rcount减少 1;每当count变为 0,说明找到了一个平衡子字符串,计数result加 1。

2025-04-02 01:45:00 61

原创 python-leetcode-1217. 玩筹码

由于移动+2或-2的代价为0,意味着所有奇数位置的筹码可以互相移动而不产生代价,同理,所有偶数位置的筹码也可以互相移动而不产生代价。但从奇数位置移动到偶数位置,或者从偶数位置移动到奇数位置,每次都需要1的代价。统计所有位于的筹码数量odd_count。统计所有位于的筹码数量even_count。由于我们最终目标是把所有筹码移动到同一位置上,最优策略是将较少的筹码移动到较多的筹码所在的位置(因为移动的代价是1因此,最小代价是。

2025-04-02 01:30:00 167

原创 python-leetcode-1211. 查询结果的质量和占比

你可以直接运行此查询来获取所需的结果!的查询数目,占总查询的百分比。将结果四舍五入到小数点后两位。可以使用 SQL 来计算。

2025-04-02 01:15:00 77

原创 python-leetcode-1200. 最小绝对差

这样相邻元素的差值就是绝对差的最小可能值之一。,计算相邻元素的差值,并找到最小的绝对差。,找出所有具有这个最小绝对差的元素对,并存入结果列表中。

2025-04-02 01:00:00 204

原创 python-leetcode-1189. “气球” 的最大数量

取上述计算结果的最小值,即为最多可以拼凑出的 "balloon" 数量。最多能拼凑出多少个 "balloon" 了!中各个字母的出现次数,并计算能够组成单词。要计算最多可以拼凑出多少个单词。统计字符出现次数的复杂度为。这样,我们就能高效地计算。中各个字符的出现次数。,我们需要统计字符串。

2025-04-02 00:45:00 72

原创 python-leetcode-1185. 一周中的第几天

可以使用蔡勒公式(Zeller's Congruence)来计算给定日期是星期几。这个实现使用了蔡勒公式来计算星期几。你可以尝试其他日期来测试它的正确性。

2025-04-02 00:30:00 21

原创 python-leetcode-1184. 公交站间的距离

可以用两种方法计算从start到的总距离,即从start到直接累加distance。的总距离,即环形总距离减去顺时针方向的距离。然后取两者的较小值。

2025-04-02 00:15:00 85

原创 sql-leetcode-1179. 重新格式化部门表

在 SQL 中,我们可以使用PIVOT(如果使用的是 SQL Server)或CASE WHEN语句(适用于 MySQL)来重新格式化表格,使每个月都有一个部门id列和一个收入列。

2025-04-02 00:00:00 63

原创 python-leetcode-1175. 质数排列

非质数必须放在 n−p 个非质数索引的位置,因此它们的排列方案为 (n-p)!我们使用 Python 计算这个结果,并利用快速阶乘计算和取模运算加速计算。质数必须放在 p 个特定的位置,因此它们的排列方案为 p!确保这些质数必须放在质数索引位置上,而其他非质数必须放在剩余的位置。这个代码首先使用埃氏筛法计算 n 以内的质数个数 p,然后计算。找出 1 到 n 之间的所有质数,并确定它们的个数 p。使用「埃氏筛法」找到 1 到 n 之间的所有质数。统计质数的个数 p,非质数的个数为 n−p。

2025-04-01 03:30:00 250

原创 python-leetcode-1160. 拼写单词

可以用 Python 来解决这个问题。思路如下:统计chars中每个字母的出现次数。遍历words列表,检查每个单词是否可以由chars中的字母拼出(即单词中的每个字母数量不能超过chars中对应的数量)。如果单词可以拼出,就累加它的长度。

2025-04-01 03:15:00 154

原创 python-leetcode-1154. 一年中的第几天

解析日期,并计算它与当年 1 月 1 日的天数差,再加 1 得到是当年的第几天。你可以试试不同的日期看看结果是否正确!可以通过解析日期字符串并计算该日期与当年年初的天数差来实现。

2025-04-01 03:00:00 59

原创 sql-leetcode-1148. 文章浏览 I

可以使用语句来获取所有浏览过自己文章的作者,并按author_id进行升序排序。

2025-04-01 02:45:00 96

原创 sql-leetcode-1141. 查询近30天活跃用户数

统计每天的活跃用户数。组合,以确保每个用户在某一天仅被计算一次。子句(CTE)筛选出最近 30 天内的。,并计算每天的活跃用户数。

2025-04-01 02:30:00 178

原创 python-leetcode-1128. 等价多米诺骨牌对的数量

可以使用哈希表(字典)来统计每种标准化表示(将每张多米诺骨牌排序后存入哈希表)的出现次数,然后计算等价对的数量。

2025-04-01 02:15:00 411

原创 python-leetcode-1122. 数组的相对排序

这个方法的时间复杂度为 O(N log N),其中 N 是。很长,这种方法依然高效。你可以试试看是否符合你的需求!可以使用 Python 来解决这个问题。里的元素,并按升序排序后加入结果列表。中的元素加入结果列表,并减少计数。中每个元素的出现次数。

2025-04-01 02:00:00 191

原创 python-leetcode-1114. 按序打印

在 Python 中,可以使用来确保方法按顺序执行。

2025-04-01 01:45:00 238

原创 python-leetcode-1108. IP 地址无效化

这个方法时间复杂度为 O(n),其中 n 是 IP 地址的长度,非常高效。可以使用 Python 的。

2025-04-01 01:30:00 119

原创 python-leetcode-1103. 分糖果 II

这个算法的时间复杂度是 O(candies)O(\sqrt{candies}),因为糖果的分发数量逐步增加,最终形成一个等差数列,累加到 candies 数量即可终止。可以使用贪心算法来解决这个问题,逐步分发糖果,直到所有糖果分完。

2025-04-01 01:15:00 147

原创 python-leetcode-1089. 复写零

从后向前填充数组,确保所有零都被正确复制,而不会超出数组范围。这样可以原地完成修改,符合题目要求。你可以使用双指针的方法,从后向前处理数组,以避免额外的空间开销。这个方法的关键点是计算出数组中零的总数,并利用两个指针(

2025-04-01 01:00:00 66

原创 sql-leetcode-1084. 销售分析 III

可以使用SQL查询来找到仅在 2019 年春季(1 月 1 日到 3 月 31 日)销售的产品,并且没有在其他时间销售的产品。

2025-04-01 00:45:00 245

原创 python-leetcode-1078. Bigram 分词

若匹配成功,则将紧随其后的单词(第三个单词)加入。这样就能高效地找到所有符合。,检查相邻两个单词是否是。

2025-04-01 00:30:00 129

原创 sql-leetcode-1075. 项目员工 I

可以使用AVG()聚合函数计算每个project_id的平均工作年限,并使用ROUND()

2025-04-01 00:15:00 238

原创 sql-leetcode-1068. 产品销售分析 I

结果集没有特定排序,如有需要,可以添加。

2025-04-01 00:00:00 174

原创 python-leetcode-1051. 高度检查器

计算它们不同的位置数量。这个代码的时间复杂度是。

2025-03-31 03:30:00 108

原创 sql-leetcode-1050. 合作过至少三次的演员和导演

筛选出合作次数大于等于 3 的 (actor, director) 组合。进行分组,以统计每对 (actor, director) 的合作次数。统计每对 (actor_id, director_id) 的合作次数。将分组统计的结果转换为 DataFrame,并重命名计数列为。这样,我们就能找出所有合作至少 3 次的演员和导演组合!可以使用 SQL 和 Pandas 来解决这个问题。

2025-03-31 03:15:00 155

原创 python-leetcode-1047. 删除字符串中的所有相邻重复项

这个方法高效且简单,可以确保删除所有相邻的重复字符并得到唯一的最终字符串。不为空且栈顶元素等于当前字符,则弹出栈顶元素(表示删除这对重复字符)。最终,栈中剩下的字符就是处理后的结果,按顺序拼接成字符串返回。O(n)(最坏情况下,字符串无可删除的字符)。的长度,每个字符最多入栈和出栈一次。O(n),其中 nn 是字符串。否则,将当前字符压入栈中。

2025-03-31 03:00:00 382

原创 python-leetcode-1046. 最后一块石头的重量

如果不相等,则把剩余的重量重新放回堆中。: 总体时间复杂度 O(nlog⁡n)如果两者重量相等,则都被粉碎;(如果堆为空,则返回 0)。这个解法能高效地解决问题!(使用 Python 的。的方法来模拟最大堆。

2025-03-31 02:45:00 118

原创 python-leetcode-1037. 有效的回旋镖

可以通过检查三点是否共线来判断是否构成回旋镖。具体来说,给定三点,如果它们不共线,就满足回旋镖的定义。

2025-03-31 02:30:00 292

原创 python-leetcode-1030. 距离顺序排列矩阵单元格

可以使用 BFS(广度优先搜索)或排序的方法来解决这个问题。

2025-03-31 02:15:00 567

原创 python-leetcode-1025. 除数博弈

这个问题可以使用动态规划或者博弈论的思想来解决。我们定义dp[n]表示当前数字为n时,爱丽丝是否能赢得游戏。

2025-03-31 02:00:00 213

原创 python-leetcode-1022. 从根到叶的二进制数之和

可以使用深度优先搜索(DFS)或广度优先搜索(BFS)遍历整棵二叉树,在遍历过程中维护当前路径表示的二进制数,并在到达叶子节点时将其累加到结果中。

2025-03-31 01:45:00 548

原创 python-leetcode-1021. 删除最外层的括号

它通过一次遍历即可完成分解和删除外层括号的任务。你可以用不同的测试用例来验证它的正确性!这个算法的时间复杂度是 O(n),其中 n 是字符串。可以使用栈来实现这个任务。为 0 时,意味着一个新的原语开始。来跟踪当前的嵌套深度。

2025-03-31 01:30:00 154

原创 python-leetcode-1018. 可被 5 整除的二进制前缀

这个方法利用了模运算的特性,仅维护余数,不断更新二进制数值,避免大整数溢出问题。这样可以高效判断每个前缀是否能被 5 整除。来存储当前的二进制数,并在遍历数组的过程中不断更新它,同时检查是否能被 5 整除。

2025-03-31 01:15:00 65

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除