
leetcode分享
文章平均质量分 61
哦哼李
靠脸吃饭的程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode经典题目分析(Java + Python + Golang + C++):两数相加
循环遍历:同时遍历 l1 和 l2,每次取出对应位置的值 x 和 y,计算 sum = x + y + carry,更新进位 carry = sum // 10,将个位数 sum % 10 存入新节点。空间复杂度:O(max(m, n)),新链表的长度最多为两个链表长度的较大值加 1。创建一个新的链表保存结果,将每一步的个位数保存到新链表中,进位保存到下一次计算中。时间复杂度:O(max(m, n)),其中 m 和 n 为两个链表的长度。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。原创 2024-06-16 08:00:00 · 554 阅读 · 0 评论 -
leetcode经典题目分析(Java + Python + Golang + C++):合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,其中 nums1 的大小为 m + n,表示 nums1 有足够的空间(还剩 n 个元素的空间)接收 nums2 中的元素。解释:需要合并 [1, 2, 3] 和 [2, 5, 6] ,合并结果是 [1, 2, 2, 3, 5, 6]。输入: nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。输出:[1,2,2,3,5,6]时间复杂度:O(m + n)空间复杂度:O(1)原创 2024-06-16 00:18:25 · 365 阅读 · 0 评论 -
leetcode经典题目分析(Java + Python + Golang + C++):两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]常见的解题思路有以下两种:暴力法:使用两层循环枚举每一对数字,检查其和是否为目标值。时间复杂度为 O(n^2)。原创 2024-06-16 00:05:02 · 323 阅读 · 0 评论