火车进站
来源:互联网 发布:手机摄影软件 编辑:程序博客网 时间:2024/04/29 21:51
给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号。要求以字典序排序输出火车出站的序列号。
输入:
有多组测试用例,每一组第一行输入一个正整数N(0<N<10),第二行包括N个正整数,范围为1到9。
输出:输出以字典序排序的火车出站序列号,每个编号以空格隔开,每个输出序列换行,具体见sample。
样例输入:31 2 3样例输出:
1 2 31 3 22 1 32 3 13 2 1
import java.util.Scanner;public class Main{public static boolean judge(int a[], int n) {// 从头开始,判断其后比他小的元素是否为降序,若不是,则不是正确的出栈序列,,
//若遇到比他大的数,则把它当做标记int tag = a[0];int p = a[0];int i = 1;for (i = 1; i < n; i++) {if (a[i] > tag) {tag = a[i];p=tag;} else if (a[i] < p) {p = a[i];} else {break;}}if (i == n) {return true;} else {return false;}}public static int[] reverse(int[] a, int l, int r) {int t;while (l < r) {t = a[l];a[l] = a[r];a[r] = t;l++;r--;}return a;}public static void printZidianxu(int[] a, int n) {int p = 0;int temp;while (true) {int flag = 0;for (int i = n - 1; i >= 0; i--) {if (i - 1 < 0)break;if (a[i] > a[i - 1]) {p = i - 1;while (i < n && a[p] < a[i]) {i++;}int minmax = i < n ? i - 1 : n - 1;temp = a[minmax];a[minmax] = a[p];a[p] = temp;a = reverse(a, p + 1, n - 1);if (judge(a, n)) {//满足火车入栈出栈的顺序 输出for (int k = 0; k < n-1; k++) {System.out.print(a[k] + " ");}System.out.print(a[n-1]);System.out.println();}flag = 1;break;}}if (flag == 0) {break;}}}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = 0;while (sc.hasNext()) {n = sc.nextInt();int arr[] = new int[n];for (int i = 0; i < n; i++) {arr[i] = sc.nextInt();}for (int k = 0; k < n-1; k++) {System.out.print(arr[k]+" ");}System.out.print(arr[n-1]);System.out.println();printZidianxu(arr, n);}}}
0 0
- 火车进站
- 火车进站
- 火车进站
- 火车进站
- 火车进站
- 火车进站
- 火车进站
- 火车进站
- 火车进站
- 火车进站
- 火车进站出站
- 火车进站(栈)
- h du1022 火车进站
- 火车进站出站问题
- 火车进站调用栈
- C++ HOJ 火车进站
- 火车进站 华为oj
- 火车进站问题
- android 视频 播放 (VideoView的小实例)
- java输入输出流FileInputStream,FileOutputStream,BufferedInputStream,BufferedOutputStream知识点总结
- 递归算法实现全排列
- 打开二级列表,关闭其他二级列表
- Datacastle人品预测大赛比赛总结
- 火车进站
- 在JLabel上显示图片,并且图片自适应JLabel的大小
- QT 的单选按钮使用方法
- VS2010测试功能之旅:编码的UI测试(1)
- java Object类及其常用方法
- leetcode 46. Permutations
- Codeforces 215A A.Sereja and Coat Rack
- mongoDB——read&write操作
- 杭电5640 King's Cake