【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. 有序 ...
随机推荐
- spring 3.2.2后springjdbc中不用queryforInt了
今天才发现,原来spring 3.2.2之后,jdbctemplate中的queryForInt已经被取消了! 参考博客:http://jackyrong.iteye.com/blog/2086255
- 正则匹配身份证有bug你知道么?
在开发中,我们需要验证用户的输入信息,多半采用正则验证,下面就是身份证证号的几种常用的正则表达式: var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x) ...
- SD从零开始33-37
[原创]SD从零开始33 Billing简介 Billing在SD流程链中的集成: Billing document表征SD流程链中的最后功能: Billing document在R/3系统的不同区域 ...
- 只有mdf文件的恢复方法
EXEC sp_attach_single_file_db @dbname = 'AdventureWorksDW2012_Data',@physname = 'D:\Program Files (x ...
- Windows上PostGIS(压缩版)安装
PostGIS安装 1.软件下载 postgresql-9.6.1-1-windows-x64-binaries.zip https://www.postgresql.org/download/win ...
- tilestache
pip install tilestache -i https://mirrors.ustc.edu.cn/pypi/web/simple python C:/Python27/ArcGIS10.4/ ...
- jQuery事件和JSON点语法
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" ...
- Echarts柱状图百分比显示
option = { tooltip: { trigger: 'item', formatter:'{c}%' //这是关键,在需要的地方加上就行了 }, grid: { borderWidth: 0 ...
- JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)
JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架) 本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦. 先把实现的发送邮箱验证码更能更新了. 老规矩,更多内容在注释 ...
- Android热修复之 - 收集崩溃信息上传服务器
1.概述 大致的流程就是在用户崩溃的时候,我们获取崩溃信息.应用当前的信息和手机信息,然后把它保存到手机内存卡,再找我就直接找出来看看.后来衍生到上线后某些奇葩机型会有部分问题,所以不得不上传到服务器 ...