【LeeCode88】Merge Sorted Array★
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★的更多相关文章
- 【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】Merge Sorted Array
Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assume th ...
- 【leetcode】Merge Sorted Array(合并两个有序数组到其中一个数组中)
题目: Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assum ...
- 【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 ...
- 【LeetCode】Merge Sorted Array(合并两个有序数组)
这道题是LeetCode里的第88道题. 题目描述: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nu ...
- 【LeetCode练习题】Merge Sorted Array
Merge Sorted Array Given two sorted integer arrays A and B, merge B into A as one sorted array. Note ...
- 【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 ...
- 【LeetCode 88_数组】Merge Sorted Array
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { ; ; ; &&a ...
- 【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. 有序 ...
随机推荐
- Oracle 12c SQL Developer连接报错(ORA-12505)
Oracle 12c SQL Developer连接报错(ORA-12505) 连接时报错码:Listener refused the connection with following error: ...
- 【CLR Via C#】16 数组
所有的数组都隐式的从System.Array抽象类派生,后者又派生自System.Object 数组是引用类型,所以会在托管堆上分配内存,数组对象占据的内存块包含数组的元素,一个类型对象指针.一个同步 ...
- ISDBT中CC的处理疑问
一个针对日本的数字电视应用(ISDBT)里字幕处理有一些问题,规范文档庞大又复杂,读起来还觉得语焉不详.接手遗留项目尝试处理字幕显示的问题,边读spec边看代码,先猜测.试图理解既有逻辑,再分析问题产 ...
- 《Inside C#》笔记(一) .NET平台
C# 基于.NET运行时,所以有必要首先对.NET以及C#与.NET平台的关系有一定的了解. 一 .NET平台 .NET背后的基本思想是将原本独立工作的设备.网络服务整合在一个统一的平台上,从而可以为 ...
- 开源免费的文档协作系统 onlyoffice平台轻松部署
请移步至此,更详细:http://blog.csdn.net/hotqin888/article/details/79337881 ONLYOFFICE是一个免费的.开源的企业办公套件,用于在线组织团 ...
- LeetCode题解之N-ary Tree Postorder Traversal
1.题目描述 2.问题分析 递归. 3.代码 vector<int> postorder(Node* root) { vector<int> v; postNorder(roo ...
- 前端开发使用Photoshop切图详细步骤
切图的主要目的是从设计师提供的psd中获取网页制作所要的资源 一.界面设置 1. 新建文件,调整界面大小,背景设置为透明 2. 自动选择,把组切换为图层 3. 添加窗口内容,一共四项:图层.历史纪录. ...
- oracle EBS rtf报表不能输出模板样式
1.需要定义中文的数据定义 2.缺少文件 cd $ADMIN_SCRIPTS_HOME prefs.ora 3.查看文档 文档 ID 1059712.1 (1)请求模版显示不出来 解决:模版定义中模 ...
- 类Unix上5个最佳开源备份工具 Bacula/Amanda/Backupninja/Backuppc/UrBackup
当为一个企业选择备份工具的时候,你都考虑什么呢? 确定你正在部署的软件具有下面的特性 开源软件 – 你务必要选择那些源码可以免费获得,并且可以修改的软件.确信可以恢复你的数据,即使是软件供应商/项目停 ...
- mysql数据库中导入txt文本数据的方法
安装好MySQL和Navicat 8 for MySQL 通过Navicat 8 for MySQL创建数据库test. 2 在数据库test上创建测试数据表student(主键ID,姓名,年龄,学 ...