import java.util.Arrays;

/**
* Source : https://oj.leetcode.com/problems/merge-sorted-array/
*
*
* Given two sorted integer arrays A and B, merge B into A as one sorted array.
*
* Note:
* You may assume that A has enough space (size that is greater or equal to m + n)
* to hold additional elements from B. The number of elements initialized in A and B
* are m and n respectively.
*/
public class MergeSortedArray { /**
* 将数组B合并到数组A,数组A空间足够大能放得下B
* 合并两个排序的数组,使用两个指针分别指向两个数组,然后比较大小将较小的放到数组A中,
* 如果把小的放在前面可能回把A中的元素覆盖(数组排序是升序的)
*
* 所以可以考虑从两个数组的末尾开始合并,将较大的元素放在A数组的最后
*
* 如果任意一个数组遍历完了,把B中剩下的元素依次插入A中
* @param a
* @param b
* @return
*/
public int[] merge (int[] a, int m, int[] b, int n) {
int pa = m - 1;
int pb = n - 1;
int pc = m + n - 1;
while (pa > -1 && pb > -1) {
if (a[pa] > b[pb]) {
a[pc--] = a[pa--];
} else {
a[pc--] = b[pb--];
}
}
while (pb > -1) {
a[pc--] = b[pb--];
}
return a;
} public static void main(String[] args) {
MergeSortedArray mergeSortedArray = new MergeSortedArray();
int[] a = new int[]{1,5,9,0,0,0,0};
int[] b = new int[]{2,3,8}; System.out.println(Arrays.toString(mergeSortedArray.merge(a, 3, b, 3)));
}
}

leetcode — 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 assume tha ...

  2. [Leetcode] Merge Sorted Array (C++)

    我在Github上新建了一个解答Leetcode问题的Project, 大家可以参考, 目前是Java 为主,里面有leetcode上的题目,解答,还有一些基本的单元测试,方便大家起步. 题目: Gi ...

  3. [leetcode]Merge Sorted Array @ Python

    原题地址:https://oj.leetcode.com/problems/merge-sorted-array/ 题意:Given two sorted integer arrays A and B ...

  4. [LeetCode] 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 合并数组

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

  6. LeetCode Merge Sorted Array 合并已排序的数组

    void merge(int A[], int m, int B[], int n) { int *a=A,*b=B; ,j=; ||m==){ //针对特殊情况,比如A或B中无元素的情况 & ...

  7. leetcode - Merge Sorted Array (run time beats 100.00% of cpp submissions.)

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

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

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

  9. 【LeetCode练习题】Merge Sorted Array

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

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

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

随机推荐

  1. vs2012开发基于MFC的ActiveX控件

    1.新建工程 2.一直点击下一步,直到出现一下界面,注意红色标注选项,点击完成. 3.进入工程的属性界面,设置工程属性 4.添加对话框资源及其他控件,添加对话框类, 5.设置对话框属性 6.设置Dia ...

  2. EF CodeFirst类生成器

    前段时间由于用到EF Code First. 上头让我添加一个功能,然后....要映射12张表到实体类中... 太无语了吧...一张表30多个字段啊老大!!!! "有没有工具可以快速弄啊,自 ...

  3. C++ 初步

    c++新特性: 1. 初始化方法: 复制初始化 int x=1024; 直接初始化 int x (1024); 2.变量随用随定义 3.增加bool数据类型 输入输出: cout<<x; ...

  4. 2019年我的OKR(objectives and key results)目标与关键成果法

     一.学习目标目标1:每天必背诵英语单词(可可英语App,百词斩App),掌握英语的基本从句语法,听力训练必备(英语四六级听力题,主要是为通过四六级考试)目标2:考研准备,高数(大一上下册),现代(大 ...

  5. js-day03-事件响应和练习题

    DOM事件编程 事件驱动编程:所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数).当然事件不仅限于用户的操作. 当对象处于某种状态时,可以发出一个消息通知,然 ...

  6. Json----简单介绍

    Json 先分享一个网站http://www.bejson.com/,这个是用来检测Json文件的错误的,Json文件一般不好查找错误. 看懂Json只需要四句话: 对象表示为键值对 数据由逗号分隔 ...

  7. No Spring WebApplicationInitializer types detected on classpath 问题的一种解决办法

    今天在idea中编译部署工程,tomcat报了这个错误: No Spring WebApplicationInitializer types detected on classpath 导致前端页面访 ...

  8. vue-router路径计算问题

    简书原文 昨天刚刚发表了一个前端跨域新方案尝试,今天在开发中就遇到的了问题. 起因 前端使用的是vue-router组件的history模式,但是由于我们的整个页面都是从static(静态资源站)lo ...

  9. OSGi解决的问题

    osgi最明显的缺陷 bundle尽管可以为隔离的服务建立独立生命周期管理的热部署方式,以及明确的服务导出和导入依赖能力,但是其最终基于jvm,无法对bundle对应的服务实现计算资源的隔离,一个服务 ...

  10. [Swift]LeetCode136. 只出现一次的数字 | Single Number

    Given a non-empty array of integers, every element appears twice except for one. Find that single on ...