11.1---有序数组合并(CC150)
这道题比较简单,就是通过从后往前复制大的就可以了。最后比较注意的就是如果B还没复制完要记得接着复制。
import java.util.Arrays;
public class Solution{
public static void main(String[] args){
int[] a = {2,4,5,0,0,0};
int[] b = {1,3,6};
merge(a,b,3,3);
System.out.println(Arrays.toString(a));
}
public static void merge(int[] a, int[] b,int len1, int len2){
int lastA = len1 - 1;
int lastB = len2 - 1;
int flag = len1 + len2 - 1;
while(lastA >= 0 && lastB >= 0){
if(a[lastA] > b[lastB]){
a[flag--] = a[lastA--];
}
else{
a[flag--] = b[lastB--];
}
}
if(lastB >= 0){
a[flag--] = b[lastB--];
}
}
}
11.1---有序数组合并(CC150)的更多相关文章
- 两个有序数组合并成一个有序数组(要求时间复杂度为O(n))
面试题: 怎样把两个有序数组合并成有序数组呢 逻辑步骤: 1.假设两个数组为A和B 2.A和B都是从小到大的顺序进行排列 ** 1.我们可以直接比较两个数组的首元素,哪个小就把这个小元素放入可变数组. ...
- java 有序数组合并
有序数组合并,例如: 数组 A=[100, 89, 88, 67, 65, 34], B=[120, 110, 103, 79, 66, 35, 20] 合并后的结果 result=[120, 110 ...
- [codevs3296]有序数组合并
题目描述 Description 合并两个有序数组A和B,使得结果依然有序. 进阶:合并两个有序数组A和B,假设A有n个数,B有m个数,A数组后面还有m个空余空间,需要将结果保存在A中. 请使用O(n ...
- [CODEVS3299]有序数组合并求第K大问题
题目描述 Description 给出两个有序数组A和B(从小到大有序),合并两个有序数组后新数组c也有序,询问c数组中第k大的数 假设不计入输入输出复杂度,你能否给出一个O(logN)的方法? 输入 ...
- 3299 有序数组合并求第K大问题
题目描述 Description 给出两个有序数组A和B(从小到大有序),合并两个有序数组后新数组c也有序,询问c数组中第k大的数 假设不计入输入输出复杂度,你能否给出一个O(logN)的方法? 输入 ...
- PAT 1029 Median (25分) 有序数组合并与防坑指南
题目 Given an increasing sequence S of N integers, the median is the number at the middle position. Fo ...
- 两个有序数组合并为一个有序数组---python
def merge(a, b): """ 合并2个有序数组,默认a,b都是从小到大的有序数组 """ # 1.临时变量 i, j = 0, ...
- Python3将两个有序数组合并为一个有序数组
[本文出自天外归云的博客园] 第一种思路,把两个数组合为一个数组然后再排序,问题又回归到冒泡和快排了,没有用到两个数组的有序性.(不好) 第二种思路,循环比较两个有序数组头位元素的大小,并把头元素放到 ...
- iOS常用算法之两个有序数组合并, 要求时间复杂度为0(n)
思路: 常规思路: 先将一个数组作为合并后的数组, 然后遍历第二个数组的每项元素, 一一对比, 直到找到合适的, 就插入进去; 简单思路: 设置数组C, 对比A和B数组的首项元素, 找到最小的, 就放 ...
- 随机生成并排序 C,去同,有序数组合并排序
#include<iostream> #include<stdlib.h> #include<time.h> using namespace std; int ma ...
随机推荐
- 对二进制加密(分散保存-s=sy+a+b)
#include <stdio.h> #define L 40 void jiaM(int * s,int * a,int *b,int *sy); void jieM(int * a,i ...
- shelve模块理解
import shelve import sys def store_person(db): pid = input("Enter unique ID mnumber:") per ...
- 使用kvm虚拟出Centos6.5系统相关步骤
使用kvm虚拟出Centos6.5系统相关步骤 kvm是啥东西,亲们自行百度哇,一两句话也说不清楚,直接进主题使用宿主机虚拟出一台centos6.5的系统,当然其他系统也可以的,考虑到企业常用服务器系 ...
- ecshop新增一个编辑器
在ecshop的后台新增一个编辑器框 步骤一:找到lib_main.php 文件:admin/includes/lib_main.php. 找到变量:function create_html_edit ...
- PHP代码质量优化
最近总结了一些平常写PHP代码时的一些优化分享给大家. 1.尽量使用绝对路径 相对路径中会检查很多路径,这时我们可以使用绝对路径,但绝对路径不利于后期维护,所以define定义的时候使用__FILE_ ...
- 【转】SPDY协议
SPDY协议 - v3 原文:SPDY Protocol - Draft 3 翻译:邱鹏滔(QQ: 95350530,主页:www.fireflysource.com) 1 概述 HTTP协议的瓶颈在 ...
- 部署Redis for Windows服务
一.环境 Redis Windows 版本:2.8.2104 二.植入Windows服务 > redis-server.exe --service-install redis.window ...
- 用svnsync 同步备份 svn 版本库 从一台服务器到另一台服务器
如用svnsync 同步备份两台机器的svn .(就以linux服务器到windows服务器为例子) 要同步的项目名称:source_svn svn 版本库1 .4 以上 源目录: ...
- [C#]集合已修改;可能无法执行枚举操作
摘要 我相信很多人对这个再熟悉不过了.对已经修改的集合进行操作就会出现这个错. 解决办法 比如有下面的一段代码,我们创建一个集合,并向集合中添加10个数,然后,我们循环再将这些数移除了. static ...
- linux 文件操作和权限
1.touch 创建文件 2.查看文件cat 浏览一个较短文件,行号加上cat -n 3.反向显示内容tac 并不支持-n选项 4.分页显示文件内容more 空格或f 翻页 回车换行 q或者Q退 ...