
十年代码训练
文章平均质量分 93
台上一分钟,台下十年功,练习10年,只为灿烂那刻。
Once-Day
长路漫漫,一人太孤单,无人理解,独自前行,给世界留下一点微不足道的痕迹,稍微弥补曾经的遗憾。
展开
-
代码训练LeetCode(18)多数元素
对编程能力的考查主要集中在对数组操作的理解和算法效率的优化上。通过此题,可以加深对线性时间算法设计的理解,尤其是摩尔投票算法的巧妙之处。原创 2024-09-13 23:37:25 · 1226 阅读 · 21 评论 -
代码训练LeetCode(17)存在重复元素
本题主要考查对数组遍历和哈希表的应用能力。通过使用哈希表存储元素的最新索引,我们能够有效检查是否有符合条件的索引对。这种方法利用了哈希表快速查找和插入的特性,使得时间复杂度控制在 O(n) 内,适合处理大规模数据。原创 2024-05-07 23:18:08 · 1288 阅读 · 11 评论 -
代码训练LeetCode(16)只出现一次的数字
此题主要考查候选人对位运算的理解及应用,尤其是异或运算的性质。掌握这类技巧可以有效解决数组和数字相关的问题,且有助于提高代码的效率和性能。原创 2024-05-01 21:28:29 · 774 阅读 · 9 评论 -
代码训练LeetCode(15)买卖股票
这个问题考察了对数组遍历和简单逻辑判断的应用,以及如何从实际问题中抽象出有效的解决方案。通过这种问题,可以加强对简单贪心算法的理解和应用。原创 2024-04-22 22:52:12 · 2960 阅读 · 61 评论 -
代码训练LeetCode(14)整数反转
这个任务是一个数字处理问题,我们要把一个32位有符号整数中的数字翻转过来,并且要注意处理溢出的情况。如果翻转后的整数超过了给定的32位有符号整数范围,就返回0。原创 2024-04-13 18:38:22 · 1011 阅读 · 6 评论 -
代码训练LeetCode(13)颠倒二进制位
实现一个函数,输入是一个32位无符号整数,输出也是一个32位无符号整数,它是输入数字二进制表示的颠倒。原创 2024-04-09 22:49:14 · 785 阅读 · 4 评论 -
代码训练LeetCode(12)二进制求和
二进制加法本质上和十进制加法相似,只不过它只包含两个数字:0和1。我们可以使用一个指针从两个字符串的末尾开始向前遍历,模拟手工加法的过程。同时,我们需要一个变量`carry`来记录进位。对于每一对位,我们需要计算它们的和再加上`carry`,然后更新`carry`。原创 2024-03-15 00:00:33 · 965 阅读 · 27 评论 -
代码训练LeetCode(11)删除有序数组中的重复项II
给定一个有序数组 `nums`,你需要原地修改这个数组,去除那些出现超过两次的重复元素。这里的“原地”意味着你不能使用额外的数组结构来辅助完成这个任务;仅能使用有限的额外空间(O(1)),也就是说,除了几个变量以外,不得使用额外的空间资源。由于数组已经有序,所以重复的元素一定是连续的。我们可以使用两个指针来解决这个问题原创 2024-03-14 23:58:19 · 1235 阅读 · 4 评论 -
代码训练LeetCode(9)Git自动同步脚本
通过这个题目,我们可以学习到如何使用bash脚本来自动化Git仓库的同步过程,并且可以增强我们对Git命令和脚本编写的理解。要提升能力,最好的方式是实践这些脚本,实际应用在日常的版本控制任务中,并在实践中学习如何处理各种可能出现的情况,比如合并冲突等。同时,了解更多的Git命令和选项可以帮助我们编写更复杂的脚本,以适应更多的应用场景。原创 2024-03-13 23:42:33 · 1287 阅读 · 32 评论 -
代码训练LeetCode(7)删除有序数组中的重复项
有一个数组 nums,它是非严格递增的,也就是说,数组中的元素可能会有重复,并且它们是按照顺序排列的。你的任务是要在不改变元素相对顺序的情况下,仅保留每个元素的一个副本,并删除所有的重复元素。你需要在不使用额外数组的条件下完成这个操作,这就意味着你需要在原地修改输入的数组 nums。原创 2024-03-10 23:00:39 · 1305 阅读 · 30 评论 -
代码训练LeetCode(6)编辑距离
这种表面一看,似乎是个字符串问题,但是如果按照分类匹配去做,怕是很难得出合理的方法。求两个字符串的编辑距离实际是个动态规划入门题目,动态规划算法是解决这个问题的标准方法。原创 2024-03-09 23:08:34 · 2527 阅读 · 54 评论 -
代码训练LeetCode(5)最长连续序列
这个问题是在寻找最长连续序列的长度,但不要求这些序列在原数组中是连续的。要在 O(n) 时间复杂度内解决这个问题,我们可以利用哈希表(在 C 中通常使用散列表或字典类型的数据结构)。原创 2024-03-09 23:06:33 · 1118 阅读 · 13 评论 -
代码训练LeetCode(4)字母异位词
题目要求我们编写一个函数,这个函数需要判断两个字符串 `s` 和 `t` 是否是字母异位词。如果一个字符串的字母重新排列后能够得到另一个字符串,那么这两个字符串互为字母异位词。换句话说,两个字符串有相同的字母和相同数量的每个字母。可以使用一个大小为 26 的整数数组来代替哈希表。数组的每个位置对应一个字母,值为该字母在字符串 `s` 中出现的次数。原创 2024-03-07 23:39:27 · 1152 阅读 · 24 评论 -
代码训练LeetCode(3)移除元素
解题思路很简单,从数组的第一个元素开始,一直检查到最后一个元素,当你找到一个`val`时,你可以将它和数组最后一个元素交换,然后“丢弃”掉最后一个元素。这样,你就在不增加额外空间的情况下,原地修改了数组。重复这个过程,直到你检查完所有的元素。原创 2024-03-07 23:33:14 · 743 阅读 · 3 评论 -
代码训练LeetCode(2)区间列表的交集
让我们用一个简单的比喻来理解这个编程题目。想象你手中有两根彩色的绳子,这两根绳子由不同颜色的段落组成,每个颜色的段落代表一个闭区间。现在你的任务是找出这两根绳子中颜色相叠的部分,这些部分就是两组区间的交集。原创 2024-03-05 23:58:23 · 1096 阅读 · 17 评论 -
代码训练LeetCode(1)合并有序数组详解
关于合并两个有序数组的问题,我可以为你提供一个通俗易懂的解释,以及C语言的实现方法。首先,想象你有两排学生,他们分别按身高从矮到高排好了队。现在我们要将这两排学生合并成一排,同时保持身高从矮到高的顺序。这就像我们要合并的两个数组,分别是nums1和nums2,它们已经按照非递减顺序(即从小到大)排列好。整数m和n分别告诉我们nums1和nums2中有多少个元素是有效的。原创 2024-03-05 23:56:17 · 929 阅读 · 0 评论