题目_数列有序
来源:互联网 发布:ios虚拟定位软件下载 编辑:程序博客网 时间:2024/05/29 14:54
Problem Description
有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。
Input
输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。
Output
对于每个测试实例,输出插入新的元素后的数列。
Sample Input
3 3
1 2 4
0 0
Sample Output
1 2 3 4
题目思路:
使用数组可以解决,不过需要排列位置,这里使用了ArrayList来解决,挨个比较,碰到比目标数字大的停下,在这个位置使用add(index,value)插入。
代码:
import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Test_6_Sort { private static Scanner in = new Scanner(System.in); public static void main(String[] args) { String line1 = in.nextLine(); int n,m; n = Integer.valueOf(line1.split(" ")[0]) ; m = Integer.valueOf(line1.split(" ")[1]) ; if (n==0&&m==0) { return; } sort(n,m); } private static void sort(int n, int m) { List<Integer> val = new ArrayList<Integer>(); String line2 = in.nextLine(); String[] tmp = line2.split(" "); if (tmp.length==n) { for (int i = 0; i < tmp.length; i++) { val.add(Integer.valueOf(tmp[i])); } } for (int i = 0; i < val.size(); i++) { if (m<=val.get(i)) { val.add(i, m); break; } } for (int i = 0; i < val.size(); i++) { System.out.print(val.get(i)+"\t"); } }}
阅读全文
0 0
- 题目_数列有序
- 数列有序!
- 数列有序
- 数列有序
- 数列有序
- 数列有序
- 数列有序
- 数列有序!
- 数列有序!
- 数列有序
- 数列有序!
- 数列有序
- 数列有序
- 数列有序!
- 数列有序!
- 数列有序!
- 数列有序!
- 数列有序!
- Yandex Big Data Essentials Week1 Unix Command Line Interface File Content exploration
- Ubuntu 14和16安装完后需要进行的操作
- CCF 1030 角谷猜想 冰雹猜想
- Android开发根据Json直接生成Java Bean方法总结
- Android Studio导入android源码
- 题目_数列有序
- CyclicBarrier和CountDownLatch区别
- 设计模式学习:工厂模式
- sdnu-并查集&图论-weeklyexam ——C
- git
- Windows10内置Linux子系统初体验
- 标准化与归一化
- C++ primer 8.3.2节练习(有关ostringstream清空的问题)
- 无Python环境变量python正常使用