leetcode
文章平均质量分 56
林隐w
0阶二次元程序猿,积攒经验值中......
展开
-
【leetcode】258. 各位相加(简单)题解学习
计算一个整数的各位相加的做法是,每次计算当前整数除以 101010 的余数得到最低位数,将最低位数加到总和中,然后将当前整数除以 101010。重复上述操作直到当前整数变成 000,此时的总和即为原整数各位相加的结果。数字根是一个数学属性,它是将一个非负整数的各个位上的数字相加,然后重复这个过程,直到得到的结果是个位数为止。在上面的代码中,首先处理了特殊情况,即当输入参数为 0 时,直接返回 0。,反复将各个位上的数字相加,直到结果为一位数。最直观的方法是模拟各位相加的过程,直到剩下的数字是一位数。原创 2024-02-18 11:20:33 · 391 阅读 · 0 评论 -
【leetcode】1281. 整数的各位积和之差(简单)题解学习
通过一个while 循环来遍历整数 n 的各位数字,每次取出最低位的数字并更新乘积和总和。最后,返回各位数字之积与之和的差值。,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。各位数之积 = 4 * 4 * 2 * 1 = 32。各位数之和 = 4 + 4 + 2 + 1 = 11。各位数之积 = 2 * 3 * 4 = 24。各位数之和 = 2 + 3 + 4 = 9。结果 = 32 - 11 = 21。结果 = 24 - 9 = 15。原创 2024-02-18 11:05:32 · 365 阅读 · 0 评论 -
【leetcode】206. 反转链表(简单)题解学习
这种递归实现方式代码简短,但需要注意在链表较长时可能会导致递归深度过大而引发堆栈溢出的问题。链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?两个指针来遍历链表并进行倒序操作。方法来将除去头节点的子链表进行倒序处理,得到新的头节点。,请你反转链表,并返回反转后的链表。在这个简化后的代码中,我们仍然使用。指针指向前一个节点,然后更新。这个递归算法的思路是先递归调用。,从而完成节点的倒序。,即为倒序后的链表。原创 2024-02-06 15:42:03 · 505 阅读 · 0 评论 -
【leetcode】LCR 123. 图书整理 I(简单)题解学习
对于使用递归的方法,在每一次递归调用中,都会向链表的尾部逐步递进,因此时间复杂度为 O(N),其中 N 是链表的长度。对于使用栈辅助的方法,在遍历链表时,需要将每个节点的值存储到栈中,因此空间复杂度为 O(N)。然后,创建一个新的数组,长度为栈的大小,依次将栈中的元素出栈并存储到数组中。将给定的单链表反转,并将反转后的结果存储在一个数组中返回。在这个优化的方法中,我们先处理空链表的情况,如果链表为空,则直接返回一个空数组。记录链表的长度,同时在进行链表反转的同时,将节点值存储到数组中,最后返回该数组。原创 2024-02-06 11:07:15 · 673 阅读 · 0 评论 -
【leetcode】1512. 好数对的数目(简单)题解学习
需要遍历两次数组,第一次遍历统计每个数字出现的次数,第二次遍历计算好数对的数量。相较于暴力枚举的方法,这种方法的效率更高。有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始。次,所以它可以和其他任意一个相同的数字组成一组好数对,因此它能够组成的好数对数量就是。最后,我们遍历哈希表中的每个数字,将它们的好数对数量相加得到总的好数对数量,即为变量。总之,这句代码的作用是将当前数字能够组成的好数对数量累加到计数器上。,那么它可以和其他数字组成的好数对数量就是。原创 2024-02-04 10:21:34 · 557 阅读 · 0 评论