【九度】题目1393:合并两个排序序列

2024-08-25 12:38

本文主要是介绍【九度】题目1393:合并两个排序序列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目地址:http://ac.jobdu.com/problem.php?pid=1393
时间限制:2 秒内存限制:32 兆特殊判题:否提交:282解决:100
题目描述:
输入两个递增的序列,输出合并这两个序列后的递增序列。
输入:
每个测试案例包括3行:
第一行为1个整数n(1<=n<=1000000)表示这两个递增序列的长度。
第二行包含n个整数,表示第一个递增序列。
第三行包含n个整数,表示第二个递增序列。
输出:
对应每个测试案例,输出合并这两个序列后的递增序列。
样例输入:
4
1 3 5 7
2 4 6 8
样例输出:
1 2 3 4 5 6 7 8
答疑:
解题遇到问题?分享解题心得?讨论本题请访问: http://t.jobdu.com/thread-8116-1-1.html

归并排序

C++ AC

#include <stdio.h>
const int maxn = 1000002;
int n,i;int main(){while(scanf("%d",&n) != EOF){int len = 2*n;int *array = new int[len];int *sortArr1 = new int[n];int *sortArr2 = new int[n];for(i = 0; i < n; i++){scanf("%d",&sortArr1[i]);}for(i = 0; i < n; i++){scanf("%d",&sortArr2[i]);}int k1 = 0;int k2 = 0;int k = 0;while(k1 < n && k2 < n){if(sortArr1[k1] < sortArr2[k2]){array[k] = sortArr1[k1];k++;k1++;}else{array[k] = sortArr2[k2];k++;k2++;}}while(k1 < n){array[k] = sortArr1[k1];k++;k1++;}while(k2 < n){array[k] = sortArr2[k2];k++;k2++;}for(i = 0; i < len-1; i++){printf("%d ",array[i]);}printf("%d\n",array[len-1]);}   return 0;
}
/**************************************************************Problem: 1393User: wangzhenqingLanguage: C++Result: AcceptedTime:1190 msMemory:16656 kb
****************************************************************/

Java AC

import java.io.StreamTokenizer;
public class Main{/** 1371*/public static void main(String[] args) throws Exception {StreamTokenizer st = new StreamTokenizer(System.in);while (st.nextToken() != StreamTokenizer.TT_EOF) {int size = (int) st.nval;int length = size * 2;int arrayA[] = new int[size];int arrayB[] = new int[size];for (int i = 0; i < size; i++) {st.nextToken();arrayA[i] = (int) st.nval;}for (int i = 0; i < size; i++) {st.nextToken();arrayB[i] = (int) st.nval;}int array[] = new int[length];int i = 0;int j = 0;int k = 0;while (i<size&&j<size) {if (arrayA[i]<arrayB[j]) {array[k++] = arrayA[i++];}else {array[k++] = arrayB[j++];}}if(i==size){  while(j<size){  array[k++] = arrayB[j++];  }  }  else{  while(i<size){  array[k++] = arrayA[i++];  }  }  StringBuffer sb = new StringBuffer();for (i = 0; i < length - 1; i++) {sb.append(array[i]);sb.append(" ");}sb.append(array[length - 1]);System.out.println(sb.toString());}}}
/**************************************************************Problem: 1393User: wzqwsrfLanguage: JavaResult: AcceptedTime:2060 msMemory:111380 kb
****************************************************************/

这篇关于【九度】题目1393:合并两个排序序列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105574

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

MySQL进行分片合并的实现步骤

《MySQL进行分片合并的实现步骤》分片合并是指在分布式数据库系统中,将不同分片上的查询结果进行整合,以获得完整的查询结果,下面就来具体介绍一下,感兴趣的可以了解一下... 目录环境准备项目依赖数据源配置分片上下文分片查询和合并代码实现1. 查询单条记录2. 跨分片查询和合并测试结论分片合并(Shardin

C++归并排序代码实现示例代码

《C++归并排序代码实现示例代码》归并排序将待排序数组分成两个子数组,分别对这两个子数组进行排序,然后将排序好的子数组合并,得到排序后的数组,:本文主要介绍C++归并排序代码实现的相关资料,需要的... 目录1 算法核心思想2 代码实现3 算法时间复杂度1 算法核心思想归并排序是一种高效的排序方式,需要用

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be