文件名称:leetcode怎么判断指针为空-Homework:在家工作
文件大小:7KB
文件格式:ZIP
更新时间:2024-07-20 23:18:58
系统开源
leetcode怎么判断指针为空 Homework 88. 合并两个有序数组 方法1 题解 主要思路:多用一个新的数组来放排序后的结果,然后将新数组赋值给nums1数组 主体的流程处理如下: 1.从下标0开始比较nums1,nums2中的元素,哪个元素小放在新数组nums3中 2.当其中一个数组遍历完之后,另一个数组剩下的元素全都复制到新数组中 3.最后将新数组复制到nums1数组,完成。 时间复杂度:O(N),空间复杂度O(N),因为使用了一个多余的数组,数组的长度即为空间复杂度 需要注意的点:判断好数组越界问题,一定要在写完后,手动模拟下过程 方法2 题解 主要思路:结合题目的特点,nums1后面会有多余的空间,不用害怕被覆盖,因此可以考虑从后往前覆盖,只是需要存储更大的值(适用于更苛刻的要求,不让开辟新空间) 主题处理流程和解法1类似 时间复杂度:O(N),空间复杂度O(1) PS: a) 从leetcode的提交结果来看,两者使用的内存相差不大 b) 有个疑惑,在其中一个数组遍历完之后,临界条件的处理时,我是根据实际情况模拟来得出具体的下标应该如何根据现有的双指针(i,j)来得
【文件预览】:
Homework-main
----reverse-nodes-in-k-group(2KB)
----move-zeroes(477B)
----merge-sorted-array-1(957B)
----remove-duplicates-from-sorted-array(366B)
----merge-sorted-array-2(657B)
----reverse-linked-list(848B)
----plus-one(1012B)
----README.md(6KB)