- 博客(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
原创 sql-leetcode-1251. 平均售价
可以使用 SQL 来计算每种产品的平均售价,方法是通过JOIN连接Prices表和UnitsSold表,确保购买日期 () 在价格生效区间 (start_date和end_date) 内。然后,计算销售额并求平均值。
2025-04-02 02:15:00
236
原创 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-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-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-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(nlogn)如果两者重量相等,则都被粉碎;(如果堆为空,则返回 0)。这个解法能高效地解决问题!(使用 Python 的。的方法来模拟最大堆。
2025-03-31 02:45:00
118
原创 python-leetcode-1037. 有效的回旋镖
可以通过检查三点是否共线来判断是否构成回旋镖。具体来说,给定三点,如果它们不共线,就满足回旋镖的定义。
2025-03-31 02:30:00
292
原创 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关注的人