1247: 递增或递减排序

题目

  有n个整数,求它的递增排序序列或递减排序序列。更多内容点击标题。

分析

  1. 统一升序排序,输出的时候做区分。
  2. 先区分是升序还是降序,调用库函数。

代码

  方法1,将数组升序排序,输出的时候,再看是升序还是降序。用Arrays.sort(int[],int,int)进行升序排序。

/**
* time 814ms
* @author wowpH
* @version A1.0
* @date 2019-05-10 上午10:09:02
* Environment: Windows 10
* IDE Version: Eclipse 2019-3
* JDK Version: JDK1.8.0_112
*/ import java.io.BufferedInputStream;
import java.util.Arrays;
import java.util.Scanner; public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedInputStream(System.in));
int n, k, i;
int[] a = new int[100];
while (sc.hasNext()) {
n = sc.nextInt();
k = sc.nextInt();
for (i = 0; i < n; i++) {
a[i] = sc.nextInt();
}
Arrays.sort(a, 0, n); // 注意后面两个参数
if (1 == k) { // 升序
for (i = 0; i < n - 1; i++) {
System.out.print(a[i] + " ");
}
System.out.println(a[n - 1]);
} else { // 降序
for (i = n - 1; i > 0; i--) {
System.out.print(a[i] + " ");
}
System.out.println(a[0]);
}
}
sc.close();
}
}

  方法2,用Collections.reverseOrder()进行降序排序。

/**
* time 979ms
* @author wowpH
* @version A2.0
* @date 2019-05-10 上午11:19:49
* Environment: Windows 10
* IDE Version: Eclipse 2019-3
* JDK Version: JDK1.8.0_112
*/ import java.io.BufferedInputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner; public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedInputStream(System.in));
int n, k;
Integer[] a = new Integer[100];
while (sc.hasNext()) {
n = sc.nextInt();
k = sc.nextInt();
for (int i = 0; i < n; i++) {
a[i] = sc.nextInt();
}
if (1 == k) { // 升序
Arrays.sort(a, 0, n);
} else { // 降序
Arrays.sort(a, 0, n, Collections.reverseOrder());
}
for (int i = 0; i < n - 1; i++) {
System.out.print(a[i] + " ");
}
System.out.println(a[n - 1]);
}
sc.close();
}
}

WUSTOJ 1247: 递增或递减排序(Java)的更多相关文章

  1. Java的自动递增和递减

    和C 类似,Java 提供了丰富的快捷运算方式.这些快捷运算可使代码更清爽,更易录入,也更易读者辨读.两种很不错的快捷运算方式是递增和递减运算符(常称作"自动递增"和"自 ...

  2. 《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

    一.题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

  3. 希尔排序及希尔排序java代码

    原文链接:http://www.orlion.ga/193/ 由上图可看到希尔排序先约定一个间隔(图中是4),然后对0.4.8这个三个位置的数据进行插入排序,然后向右移一位对位置1.5.9进行插入排序 ...

  4. js验证连续两位数字递增或递减和连续三位数字相同

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  5. tkinter中spinbox递增和递减控件(十)

    spinbox递增和递减控件 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("3 ...

  6. cf1144G 将串分解成单调递增和递减子串(贪心)

    这算哪门子dp.. 具体做法就是贪心,建立两个vector存递增序列递减序列,操作过程中a可以合法地匀一个给b 就是判断第i个数放在递增序列里还是放在递减序列里,需要根据后面的数来进行决策 #incl ...

  7. JavaScript运算符:递增和递减(++i,--i 和 i++,i-- 的区别)

    递增和递减操作符直接借鉴自C,而且各有两个版本:前置型 (递增 ++i ,递减 --i )和 后置型 (递增 i++ ,递减 i-- ).书本上对两者的定义是:前置型应该位于要操作的变量之前,而后置型 ...

  8. 算法练习5---快速排序Java版

    基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成 ...

  9. ElasticSearch中设置排序Java

    有用的链接:http://stackoverflow.com/questions/12215380/sorting-on-several-fields-in-elasticsearch 有的时候,需要 ...

随机推荐

  1. ICEM-圆锥的一种画法

    原视频下载地址:https://yunpan.cn/cqK53dKBnduM9  访问密码 42be ​

  2. 迭代器Iterator、for循环遍历、泛型

    java.util.Collection接口 是集合的最顶层的接口,定义了集合共性的方法 接口无法直接创建对象,使用多态的方式创建对象 Collection<集合中的数据类型(泛型)> c ...

  3. 20165223《网络对抗技术》Exp 8 Web基础

    目录 -- Web基础 实践说明 实践目标 基础问答 实践内容 Web前端:HTML Web前端:JavaScript Web后端:MySQL Web后端:PHP SQL注入,XSS攻击测试 实验遇到 ...

  4. Nginx之web服务器

    Nginx的介绍 Nginx是由俄罗斯的Igor Sysoev使用C语言开发的轻量级.高性能.开源.跨平台的Web服务器. Nginx使用基于事件驱动的架构能够并发处理百万级的TCP连接,高模块化的设 ...

  5. [转]Python3之max key参数学习记录

    Python3之max key参数学习记录 转自https://www.cnblogs.com/zhangwei22/p/9892422.html 今天用Python写脚本,想要实现这样的功能:对于给 ...

  6. Qt之模型/视图(委托)

    概念 不同于模型 - 视图 - 控制器模式,模型/视图设计不包括用于管理与用户交互的一个完全独立的组件.一般情况,视图负责将模型数据呈现给用户以及处理用户输入.为了输入更加具有灵活性,则由委托来执行交 ...

  7. TynSerial序列(还原)TFDMemTable

    TynSerial序列(还原)TFDMemTable 1)TFDMemTable查询数据 procedure TForm1.Qrys(accountno, sql, sql2: string; Dat ...

  8. 分区工具parted的使用方法

    一.         parted的用途及说明 概括使用说明: parted用于对磁盘(或RAID磁盘)进行分区及管理,与fdisk分区工具相比,支持2TB以上的磁盘分区,并且允许调整分区的大小.   ...

  9. SQL优化 | Oracle 绑定变量

    之前整理过一篇有关绑定变量的文章,不太详细,重新补充一下. Oracle 绑定变量 http://www.cndba.cn/Dave/article/1275 一.绑定变量 bind variable ...

  10. final和finally和finalize的区别

    final 修饰类,不能被继承 修饰方法,不能被重写 修饰变量,只能赋值一次 finally 是try语句中的一个语句体,不能单独使用,用来释放资源 finalize 是一个方法,当垃圾回收器确定不存 ...