专栏首页尾尾部落[LeetCode]Merge Sorted Array 合并排序数组 [LeetCode]Merge Sorted Array 合并排序数组

[LeetCode]Merge Sorted Array 合并排序数组 [LeetCode]Merge Sorted Array 合并排序数组

链接:https://leetcode.com/problems/merge-sorted-array/description/ 难度:Easy 题目:88. Merge Sorted Array Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

翻译:给定两个排序整数数组nums1和nums2,将nums2按顺序合并到nums1(从小到大)。 提示:假设nums1有足够的空间(大小大于或等于m + n)来保存nums2中的其他元素。

思路:A和B都已经是排好序的数组,我们只需要从后往前比较就可以了。因为A有足够的空间容纳A + B,我们使用游标i指向m + n – 1,也就是最大数值存放的地方,从后往前遍历A,B,谁大就放到i这里,同时递减i。

参考代码: Java

class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        for(int i=m + n - 1; i>=0 ; i--){
            if(m>0 && n>0){
                if(nums1[m-1]>nums2[n-1]){
                    nums1[i] = nums1[m-1];
                    m --;
                }else{
                    nums1[i] = nums2[n-1];
                    n --;
                }
            }else if(m<=0){
                nums1[i] = nums2[n-1];
                n --;
            }else if(n<=0){
                nums1[i] = nums1[m-1];
                m --;
            }      
        }
    }
}		

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [剑指offer] 斐波那契数列

    大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39

    尾尾部落
  • [剑指offer] 树的子结构

    输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)

    尾尾部落
  • [剑指offer] 二叉搜索树的后序遍历序列

    输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。

    尾尾部落
  • 【LeetCode题解-004】Median of Two Sorted Arrays

    There are two sorted arrays nums1 and nums2 of size m and n respectively.

    周三不加班
  • 拼接最大数

    给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字。现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一...

    你的益达
  • 双指针 || 0088 合并数组

    因为这两个数组已经排好序,我们可以把两个指针分别放在两个数组的末尾,即 nums1 的 m − 1 位和 nums2 的 n − 1 位。每次将较大的那个数字复...

    啤酒单恋小龙虾
  • Leetcode Golang 88. Merge Sorted Array.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/88935287

    anakinsun
  • 88合并两个有序数组

    给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。

    宇宙之一粟
  • LeetCode刷题DAY 22:合并两个有序数组

    给定两个有序整数数组 nums1 和 nums2,将nums2合并到nums1中,使nums1成为一个有序数组。如:

    三猫
  • LeetCode100|两个数组的交集II

    这是自己目前输出的leetcode第100篇题解慢一点,才能更快,98道leetcode,也是自己坚持过程中一个结果,感谢周围的人和自己,这里道一句谢谢吧,没有...

    后端Coder

扫码关注云+社区

领取腾讯云代金券