leetcode-88合并两个有序数组(双指针)
2023-06-13 09:13:02 时间
给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。
初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。
示例 1:
输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
输出:[1,2,2,3,5,6]
示例 2:
输入:nums1 = [1], m = 1, nums2 = [], n = 0
输出:[1]
提示:
nums1.length == m + n nums2.length == n 0 <= m, n <= 200 1 <= m + n <= 200 -109 <= nums1[i], nums2[i] <= 109
双指针
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int l = nums1.size() - 1;
int i = m - 1,j = n - 1;
while(i >= 0 && j >= 0){
if(nums1[i] >= nums2[j])nums1[l --] = nums1[i --];
else nums1[l --] = nums2[j --];
}
while(i >= 0)nums1[l --] = nums1[i --];
while(j >= 0)nums1[l --] = nums2[j --];
}
};
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168753.html原文链接:https://javaforall.cn
相关文章
- [LeetCode]238. 除自身以外数组的乘积
- 【Leetcode 346/700】79. 单词搜索-回溯深度搜索JavaScript版
- 《三战Leetcode》寻找有序数组的中位数
- LeetCode周赛305,两千人通过第四题,手速场太可怕……
- LeetCode周赛300,没能AK,刚拿到的勋章要没了……
- LeetCode周赛283,第一名送iWatch,少年你参赛了吗?
- Leetcode 题目927-三等分0和1组成的数组
- Leetcode 题目915-分割数组
- LeetCode 88. 合并两个有序数组
- LeetCode 561. 数组拆分 I
- LeetCode 2195. 向数组中追加 K 个整数(贪心)
- JavaScript刷LeetCode拿offer-双指针技巧Medium篇
- leetcode最长回文子串_最长回文子串算法
- leetcode #77 in cpp[通俗易懂]
- 【day 02】LeetCode(力扣)每日一刷[1281. 整数的各位积和之差 ][215. 数组中的第K个最大元素 ][670. 最大交换]
- 【day03】LeetCode(力扣)每日一刷[239. 滑动窗口最大值 ][1422. 分割字符串的最大得分][1046. 最后一块石头的重量 ]
- js刷LeetCode拿offer之滑动窗口
- js分类刷leetcode动态规划
- golang刷leetcode:设计LFU缓存结构
- LeetCode 算法题
- LeetCode 26:删除有序数组中的重复项
- leetcode 11. 盛最多水的容器 js实现
- leetcode:合并两个有序数组
- Leetcode 跳跃游戏
- Leetcode 560. 和为 K 的子数组
- LeetCode每日一题:合并两个有序数组