题目要求

P1104题目链接

分析

一个典型的排序题,我们将针对 year、month、day、id 四个属性进行排序,并输出对应的 name 。

使用面向对象,封装一个类,再使用sort做下处理就行啦。

AC代码(Java语言描述)

import java.util.Arrays;
import java.util.Scanner;public class Main {private static class OIer {String name;Integer year;Integer month;Integer day;Integer id;OIer(String name, int year, int month, int day, int id) {this.name = name;this.year = year;this.month = month;this.day = day;this.id = id;}}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = Integer.parseInt(scanner.nextLine());OIer[] oIers = new OIer[num];for (int i = 0; i < num; i++) {String[] info = scanner.nextLine().split("\\s+");oIers[i] = new OIer(info[0], Integer.parseInt(info[1]), Integer.parseInt(info[2]),Integer.parseInt(info[3]), i);}scanner.close();Arrays.sort(oIers, (dalao1, dalao2) -> {int year = dalao1.year.compareTo(dalao2.year);if (year != 0) {return year;}int month = dalao1.month.compareTo(dalao2.month);if (month != 0) {return month;}int day = dalao1.day.compareTo(dalao2.day);if (day != 0) {return day;}return dalao2.id.compareTo(dalao1.id);});for (OIer dalao : oIers) {System.out.println(dalao.name);}}}

生日排序(洛谷P1104题题解,Java语言描述)相关推荐

  1. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  2. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  3. 按字母位置关系给数字排序(洛谷P4414题题解,Java语言描述)

    题目要求 P4414题目链接 分析 这题其实就是排序,特别水,因为只有三个数-- 问题是这排序咋排呢?也不是那么直接的,因为是按照ABC之间位置关系排一下. 其实简单处理的话就是先排序,直接按照ABC ...

  4. 排序分发“魔法照片”(洛谷P1583题题解,Java语言描述)

    题目要求 P1583题目链接 分析 感觉需要排两次序,一次是为了获取额外权重而进行的排序,另一次是加上额外权重以后为了得到最终权重而进行的排序. 为了便于随机访问,我还是选择了数组这个线性结构. 另外 ...

  5. [计数排序]统计三个数和的[最大概率](洛谷P2911题题解,Java语言描述)

    题目要求 P2911题目链接 分析 我用暴力思想做的,对每种和进行计数. 暴力的基本思想是计数排序,开一个数组,计数最后按照要求得到结果. 遍历的过程就很暴力哈哈哈-- 这位大神用期望做的,Orz → ...

  6. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  7. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

  8. 贪心策略摘果子(洛谷P1478题题解,Java语言描述)

    题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...

  9. 麦森数(洛谷P1045题题解,Java语言描述)

    题目要求 题目链接 分析 这题挺经典的,快速幂取模算法,如果求出大数再取模就可能T掉. 之前有篇文章写了这个算法:<快速幂算法详解&&快速幂取模算法详解> 既然是Java, ...

最新文章

  1. 检测点是否在两条平行线段之间_解决最值问题的利器——垂线段最短
  2. silverlight中如何将string(字符串)写入Resource(资源)?
  3. 一文纵览EMAS 到底内含多少阿里核心技术能力
  4. 软考高级网络规划设计师5天修炼
  5. java证书验证失败_Java 跳过 HTTPS 请求过程中证书验证问题
  6. 2. 通用基础技术框架搭建
  7. ZZULIOJ1035
  8. 安卓9安装xpose
  9. html怎么拼图没有缝隙,【答疑】ps怎么拼图不留缝隙?急需答案!! - 视频教程线上学...
  10. GitLab使用中的403错误
  11. 从无序到有序的负熵力量
  12. kafka2.0-幂等发送(the idempotent producer)_09
  13. pythonrefprop怎么设置_Refprop调用Excel设置步骤
  14. IC 后端仿真: process corner 和 PVT
  15. 寻路问题——找到从起点到终点路径
  16. 2019人工智能行业的25大趋势预测
  17. 新春钜献 | 数据科学中文速查表Hacksheet强势助攻你的大数据学习
  18. 图解两部委DSM数据安全管理认证
  19. 我以为是个正经程序猿,结果是个中二段子精
  20. 打开网页被Java拦截怎么办_应用程序已被java安全阻止怎么办

热门文章

  1. DataGrid数据绑定
  2. 【PAT】B1055 集体照(25 分)
  3. Codeforces 990E Post Lamps 【暴力】【贪心】
  4. Mqtt协议IOS端移植3
  5. [修复] Firemonkey 使用 DrawPath 断线问题(Android iOS 平台)
  6. Jquery实现列表框效果
  7. 探求数据仓库关键环节ETL的本质
  8. 碰撞检测技术:kd tree
  9. idea报错:Error: java: 错误: 不支持发行版本 5
  10. python工作岗位要求_Python就业:Python就业岗位职能要求解析