leetcode第一刷_Merge Sorted Array
LeetCode Array 第一 Merge sorted
2023-09-14 09:08:01 时间
水题,只是思想还是实用的。
当然能够新建出一个数组。比較着拷贝过去。可是没有必要啊亲。想想为什么用源数组会麻烦,由于确定了前面的数。为了后面的数字不被覆盖,要依次往后移,转念一想,先确定后面的数字。就不用操心会覆盖的问题了。像不像杨辉三角形中仅仅要求O(N)空间时的思想,好多好多样例。
class Solution { public: void merge(int A[], int m, int B[], int n) { int i=m-1, j = n-1, k = m+n-1; while(i>=0&&j>=0){ if(A[i]<B[j]){ A[k] = B[j]; --j; }else{ A[k] = A[i]; --i; } --k; } while(j>=0){ A[k] = B[j]; --k; --j; } } };
相关文章
- LeetCode笔记:Biweekly Contest 85
- LeetCode刷题系列(4)
- leetcode 792_单词编码
- Leetcode题目037-解数独
- 太全了!字节总监总结240道算法LeetCode刷题笔记
- leetcode刷题(123)——63. 不同路径 II
- 【day10】LeetCode(力扣)刷题(注释详细)[707.设计链表][278.第一个错误的版本][98. 验证二叉搜索树]
- Remove Duplicates from Sorted Array — LeetCode
- LeetCode周赛331,思维题训练场
- LeetCode - #64 最小路径和(Top 100)
- 【算法】动态规划 ⑦ ( LeetCode 55. 跳跃游戏 | 算法分析 | 代码示例 )
- 「动态规划」LeetCode 70(爬楼梯)