1.题目描述:

2.解题思路:

  题意:两个由整数构成的有序数组nums1和nums2,合并nums2到nums1,使之成为一个有序数组。注意,假设数组nums1有足够的空间存储nums1和nums2的所有元素(>=m+n)。

  思路很简单,直接上代码。

3.Java代码:

(1)普通

 //public class LeetCode88 为测试代码
public class LeetCode88 {
public static void main(String[] args) {
int[] nums1=new int[8];
nums1[0]=1;
nums1[1]=3;
nums1[2]=5;
System.out.println("初始时nums1:"+nums1[0]+","+nums1[1]+","+nums1[2]);
int[] nums2={2,4,6,8};
new Solution().merge(nums1, 3, nums2, 4);
System.out.print("合并后nums1:"+nums1[0]);
for(int i=1;i<nums1.length-1;i++){
System.out.print(","+nums1[i]);
}
}
} //class Solution为ac代码
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int i=m-1,j=n-1,k=m+n-1;
while(i>-1&&j>-1) nums1[k--]=(nums1[i]>nums2[j])?nums1[i--]:nums2[j--];
while(j>-1) nums1[k--]=nums2[j--];
}
}

测试结果:

(2)更简洁写法(来自网上大神,一行代码解决!):

 //public class LeetCode88 为测试代码
public class LeetCode88 {
public static void main(String[] args) {
int[] nums1=new int[8];
nums1[0]=1;
nums1[1]=3;
nums1[2]=5;
System.out.println("初始时nums1:"+nums1[0]+","+nums1[1]+","+nums1[2]);
int[] nums2={2,4,6,8};
new Solution().merge(nums1, 3, nums2, 4);
System.out.print("合并后nums1:"+nums1[0]);
for(int i=1;i<nums1.length-1;i++){
System.out.print(","+nums1[i]);
}
}
} //class Solution为ac代码
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
while(n>0) nums1[m+n-1]=(m==0||nums2[n-1]>nums1[m-1])?nums2[--n]:nums1[--m];
}
}

测试结果:

【LeeCode88】Merge Sorted Array★的更多相关文章

  1. 【leetcode】Merge Sorted Array

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

  2. 【题解】【数组】【Leetcode】Merge Sorted Array

    Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assume th ...

  3. 【leetcode】Merge Sorted Array(合并两个有序数组到其中一个数组中)

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

  4. 【Leetcode】【Easy】Merge Sorted Array

    Given two sorted integer arrays A and B, merge B into A as one sorted array. Note:You may assume tha ...

  5. 【LeetCode】Merge Sorted Array(合并两个有序数组)

    这道题是LeetCode里的第88道题. 题目描述: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nu ...

  6. 【LeetCode练习题】Merge Sorted Array

    Merge Sorted Array Given two sorted integer arrays A and B, merge B into A as one sorted array. Note ...

  7. 【leetcode】Convert Sorted Array to Binary Search Tree

    Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascending ord ...

  8. 【LeetCode 88_数组】Merge Sorted Array

    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { ; ; ; &&a ...

  9. 【leetcode】Convert Sorted Array to Binary Search Tree (easy)

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

随机推荐

  1. Java内部类的介绍

    在Java的面向对象编程中,由于Java并没有类似C++的多重继承,所以采用了内部类这样的方式,现在介绍几种内部类的常见情况. 公开内部类 即由public关键词修饰的内部类,内部类作为外部类的一个成 ...

  2. JS--我发现,原来你是这样的JS(三)(基础概念--灵魂篇)

    一.介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第三篇(灵魂篇介绍),有着剩下的第三章的知识内容. 红宝书这本书可以说是难啃的,要看完不容易,挺厚的,要看懂更不容易,要熟练js ...

  3. List常用几种方式

    第一种,匹配俩个集合中相同的值 , , , , , , }; , , , , , , , , }; var C= listA.Intersect(listB); foreach (var item i ...

  4. 安卓开发环境配置之Windows+ADT+eclipse

    安卓环境搭建之Windows+ADT+eclipse 要点: 1.安装JDK 2.安装Android SDK 3.安装eclipse 4.安装ADT 5.安装调试环境 正文: 1.安装JDK 1.1准 ...

  5. 二叉搜索树(Binary Search Tree)实现及测试

    转:http://blog.csdn.net/a19881029/article/details/24379339 实现代码:  Node.java  //节点类public class Node{ ...

  6. 关于通过ServletContext获取数据出现的http500的错误的解决方案

    1.问题的简述 我创建了一个两个servlet以及一个jsp页面,假定给两个servlet分别命名(初始化数据servlet)和(数据处理servlet),jsp页面用于传递数据至数据处理servle ...

  7. 【Redis】Redis学习(三) Redis 主从模式详解

    不管任何程序,只运行一个实例都是不可靠的,一旦因为网络原因导致所在机器不可达,或者所在服务器挂掉,那么这个程序将不能对外提供服务了,Redis也是一样的.不过Redis的主从并不是解决这个问题的,一些 ...

  8. Problem1-Project Euler

    Problem1-Project Euler Multiples of 3 and 5   If we list all the natural numbers below 10 that are m ...

  9. Linux运维之shell脚本基础知识

    1.bash中的算术运算 let运算符 [root@:vg_adn_tidbCkhsTest ~/tidb-bench/sysbench]#echo $i [root@:vg_adn_tidbCkhs ...

  10. AWS服务学习

    什么是云计算? 云计算是用户通过Internet云服务平台按需提供计算能力.数据库存储.应用程序和其他IT资源,采用按需支付定价模式 无论您是在运行拥有数百万移动用户的照片共享应用程序,还是要为您的业 ...