Java for LeetCode 088 Merge Sorted Array
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的更多相关文章
- LeetCode 088 Merge Sorted Array 合并两个有序数组
		
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Note:You ...
 - [LeetCode] 88. Merge Sorted Array 混合插入有序数组
		
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: T ...
 - Leetcode#88. Merge Sorted Array(合并两个有序数组)
		
题目描述 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m ...
 - [LeetCode]题解(python):088 Merge Sorted Array
		
题目来源 https://leetcode.com/problems/merge-sorted-array/ Given two sorted integer arrays nums1 and num ...
 - LeetCode 88. Merge Sorted Array(合并有序数组)
		
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...
 - [LeetCode] 88. Merge Sorted Array 合并有序数组
		
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: T ...
 - 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. 解题 ...
 - 【leetcode】Merge Sorted Array
		
题目描述 Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assu ...
 - LeetCode 88 Merge Sorted Array
		
Problem: Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array ...
 
随机推荐
- 获取Android系统默认给每个app分配的内存上限
			
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); int ...
 - UNIX网络编程卷1 server程序设计范式8 预先创建线程,由主线程调用accept
			
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.程序启动阶段创建一个线程池之后仅仅让主线程调用 accept 并把客户连接传递给池中某个 ...
 - HM编码器代码阅读(14)——帧间预測之AMVP模式(二)predInterSearch函数
			
简单介绍 predInterSearch基本的工作是ME(运动预计)和MC(运动补偿). 函数中有一个bTestNormalMC变量.它表示是否进行正常的MC过程,正常的MC过程就是进 ...
 - 【AngularJS】Yeoman安装
			
看不到PPT的请自行解决DNS污染问题.
 - [C++设计模式] state 状态模式
			
<head first 设计模式>中的样例非常不错,想制造一个自己主动交易的糖果机,糖果机有四个状态:投入钱不足,投入钱足够,出售糖果,糖果售罄. 糖果机的当前状态处于当中不同的状态时,它 ...
 - 【Excle数据透视】如何升序排列字段列表中的字段
			
数据透视表创建完毕,那么如何将字段列表中的字段修改为升序排列呢? 解决方案 更改"字段列表"为按"升序"排列 步骤 单击数据透视表任意单元格→右键单击→数据透视 ...
 - c/c++:回调函数
			
1:函数名为指针 首先,在C语言中函数是一种function-to-pointer的方式,即对于一个函数,会将其自己主动转换成指针的类型.如: 1 #include<stdio.h> 2 ...
 - 【Android】怎样写一个JsBridge
			
JsBridge 简单介绍 Android JsBridge 就是用来在 Android app的原生 java 代码与 javascript 代码中架设通信(调用)桥梁的辅助工具. 原文地址点这里 ...
 - Java 加载器
			
类的加载是由类加载器完成的,类加载器包括: 根加载器( BootStrap ).扩展加载器( Extension ).系统加载器( System )和用户自定义类加载器( java.lang.Clas ...
 - java面试笔记(2019)
			
1. 堆啊,栈啊,内存溢出原因 2. Dubbo原理 3. Reids线程 4. 线程池安全 5. linux查看线程命令 6. ABA