Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

解题思路一:

使用一个nums1Copy把nums1的前m个元素拷贝出来,然后把nums1Copy和nums2放进nums1中,JAVA实现如下:

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

解题思路二:

思路一会有一定的空间复杂度,可以直接把nums1中的前m个元素往右平移n个单位,然后进行合并,JAVA实现如下:

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

Java for LeetCode 088 Merge Sorted Array的更多相关文章

  1. LeetCode 088 Merge Sorted Array 合并两个有序数组

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Note:You ...

  2. [LeetCode] 88. Merge Sorted Array 混合插入有序数组

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: T ...

  3. Leetcode#88. Merge Sorted Array(合并两个有序数组)

    题目描述 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m ...

  4. [LeetCode]题解(python):088 Merge Sorted Array

    题目来源 https://leetcode.com/problems/merge-sorted-array/ Given two sorted integer arrays nums1 and num ...

  5. LeetCode 88. Merge Sorted Array(合并有序数组)

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...

  6. [LeetCode] 88. Merge Sorted Array 合并有序数组

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: T ...

  7. Java for LeetCode 108 Convert Sorted Array to Binary Search Tree

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 解题 ...

  8. 【leetcode】Merge Sorted Array

    题目描述 Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assu ...

  9. LeetCode 88 Merge Sorted Array

    Problem: Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array ...

随机推荐

  1. dedecms 调用栏目或文章所属上下级关系

    效果如下: 代码如下: <div class="place"> <strong>当前位置:</strong> {dede:field name= ...

  2. UNIX网络编程卷1 server程序设计范式8 预先创建线程,由主线程调用accept

    本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.程序启动阶段创建一个线程池之后仅仅让主线程调用 accept 并把客户连接传递给池中某个 ...

  3. getchar()和getch()的区别

    1.getchar();从键盘读取一个字符并输出,该函数的返回值是输入第一个字符的ASCII码:若用户输入的是一连串字符,函数直到用户输入回车时结束,输入的字符连同回车一起存入键盘缓冲区.若程序中有后 ...

  4. 转: 学习Javascript闭包(Closure) (阮一峰)

    from: http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html

  5. pymongo的基本使用

    #!/usr/bin/env python # -*- coding:utf-8 -*- """ MongoDB存储 在这里我们来看一下Python3下MongoDB的存 ...

  6. pom.xml基础配置

    pom.xml基础配置: maven中,最让我迷惑的还是那一堆配置! 就拿这个属性配置来说: 我需要让整个项目统一字符集编码,就需要设定 <project.build.sourceEncodin ...

  7. Java 使用StringBuffer注意

    Stringbuffer使用注意   问题背景: 模拟客户端使用Socket请求服务器核心系统,核心系统正常响应,内容较大,近2715KB,大于2.6M多. 使用指定编码GBK来接收响应内容到过程中没 ...

  8. Linux下Nginx安全证书ssl配置方法

    分享下我是如何一步步在Nginx上配置SSL的.首先,确保安装了OpenSSL库,并且安装Nginx时使用了–with-http_ssl_module参数. 初学者或者菜鸟建议使用LNMP进行一键安装 ...

  9. [Android Studio 权威教程]最有用的快捷键

    上篇中我们讲了Android Studio怎样加入插件.这篇我们讲讲AS的快捷键.这里我说明的快捷键都是最最有用的,希望刚刚加入AS的朋友尽快的熟悉一下这几个快捷键,这样能够帮助你提高coding的效 ...

  10. 卡特兰数-Catalan数

    卡特兰数的含义: 说到卡特兰数,就不得不提及卡特兰数序列.卡特兰数序列是一个整数序列.其通项公式是我们从中取出的就叫做第n个卡特兰数数,前几个卡特兰数数是:1, 1, 2, 5, 14, 42, 13 ...