88. Merge Sorted Array 后插
合并两个排序的整数数组A和B变成一个新的数组。给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]
假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。
给出 A = [1, 2, 3, empty, empty]
, B = [4, 5]
合并之后 A 将变成 [1,2,3,4,5]
[一句话思路]:向前比较,把小数头插。
[一刷]没写出来:
- int[] result = new int[空间];
- for(i=0; i<n ;i++)。取数时,nums[0] nums[n-1]都要取数;新建数组时,尺寸是m+n
- 最后长数组补漏应该是while
- 后插的时候,index也是--
- m n本来就是length参数,已经有了,不用测量了
- 返回类型为void时,别新建result函数,用nums1就行
[总结]:
- 前插从第0位开始,尾插从第n-1位开始
- 返回void型函数时,用前插会覆盖。所以不管nums1是否有空位,都用尾插。
[复杂度]:时间n,空间1
[英文数据结构]:array
[其他解法]:
[题目变变变]:暂时没有用array的merge题目了
public class Solution {
/*
* @param A: sorted integer array A which has m elements, but size of A is m+n
* @param m: An integer
* @param B: sorted integer array B which has n elements
* @param n: An integer
* @return: nothing
*/
public void merge(int[] A, int m, int[] B, int n) {
// write your code here
int index = m + n - 1;
int i = m - 1;
int j = n - 1; while (i >= 0 && j >= 0) {
if (A[i] > B [j]) {
A[index--] = A[i--];
}
else {
A[index--] = B[j--];
}
} while (i >= 0) {
A[index--] = A[i--];
}
while (j >= 0) {
A[index--] = B[j--];
}
}
}
88. Merge Sorted Array 后插的更多相关文章
- 88. Merge Sorted Array【easy】
88. Merge Sorted Array[easy] Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 ...
- Leetcode#88. Merge Sorted Array(合并两个有序数组)
题目描述 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m ...
- LeetCode练题——88. Merge Sorted Array
1.题目 88. Merge Sorted Array——Easy Given two sorted integer arrays nums1 and nums2, merge nums2 into ...
- [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 (2 solutions)
Merge Sorted Array Given two sorted integer arrays A and B, merge B into A as one sorted array. Note ...
- 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
Problem: Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array ...
- 88. Merge Sorted Array
题目: Given two sorted integer arrays A and B, merge B into A as one sorted array. Note:You may assume ...
- LeetCode OJ 88. Merge Sorted Array
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...
随机推荐
- Android logcat命令详解
一.logcat命令介绍 1.android log系统 2.logcat介绍 logcat是android中的一个命令行工具,可以用于得到程序的log信息 log类是一个日志类,可以在代码中使用lo ...
- 【Gearman学习笔记】分布式处理入门
1.首先,确保你已经安装了gearmand环境并且语言绑定(language binding)已经生效. 2.涉及到的各个部分: ServerThe server, gearmand, will co ...
- Spark分析之Dependency
在Spark中,每一个RDD是对于数据集在某一状态下的表现形式,比如说:map.filter.group by等都算一次操作,这个状态有可能是从前一状态转换而来的: 因此换句话说一个RDD可能与之前的 ...
- CentOS修改TimeZone
查看: date -R +0800 修改: sudo rm -rf /etc/localtime sudo cp /usr/share/zoneinfo/America/Los_Angeles / ...
- XML,XSD,XSLT应用场景
XML:数据交换的标准 1.数据通信: 其实HTTP就是标准的报文格式,早开发中,设计报文的格式是可以看出这个系统的好坏 2.配置文件:设计一个良好的配置文件比写代码要难,比如Spring的配置文 ...
- Hibernate 和 MyBatis 的对比
一.开发对比 开发速度 Hibernate 的真正掌握要比MyBatis来的难些.MyBatis框架较轻量级,相对简单很容易上手,但也相对简陋些.个人觉得要用好 MyBatis 还是要首先理解好 Hi ...
- express有中间件的增删改查
var express = require('express');引入express框架 var router = express.Router();引入router路由级中间件 var data = ...
- js常见兼容
滚动条的兼容写法(谷歌chrome) document.documentElement.scrollTop || document.body.scrollTop 阻止浏览器默认行为的兼容写法 e ...
- python学习之----初见网络爬虫(输出整个网页html的代码)
from urllib import urlopen html = urlopen('http://www.manluotuo.com') print (html.read()) 控制台输出整个网页h ...
- linux7系统开机报错failed to start login service
1.开机报错failed to start login service 参考网站:https://unix.stackexchange.com/questions/264994/kali-sudden ...