华为OD机试题-java-磁盘容量排序
题目大意
磁盘的容量单位有M、G、T,其关系为 1T = 1000G、1G = 1000M,如样例所示先输入磁盘的个数,再依次输入磁盘的容量大小,然后按照从小到大的顺序对磁盘容量进行排序并输出。
例如:
输入:
3
20M
1T
300G
输出:
20M
300G
1T
本人思路:
本来准备使用TreeMap 进行key 排序,但是map key 有唯一性,如果输入两个一样大小的数据,会出现数据丢失的问题。
所以决定自定义一个对象VolumInfo 进行实现
然后用list 的stream.sorted 进行排序
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;public class Main3 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);// 接受输入的数据int size = Integer.parseInt(scan.nextLine());// 接受input str 放入到原始list 里面List<VolumInfo> volumInfos = new ArrayList<VolumInfo>();for (int i = 0; i < size; i++) {System.out.println("大小:");VolumInfo volumInfo = new Main3().new VolumInfo();// valueStrString valueStr = scan.nextLine();volumInfo.setValueStr(valueStr);// valuedouble num = Double.parseDouble(valueStr.substring(0, valueStr.length()-1));if(valueStr.contains("G")) {num = num * 1000;}else if(valueStr.contains("T")) {num = num * 1000 * 1000;}volumInfo.setValue(num);volumInfos.add(volumInfo);}// sortedList<VolumInfo> sortedVolumInfos =volumInfos.stream().sorted(Comparator.comparing(VolumInfo::getValue)).collect(Collectors.toList());// outputfor(VolumInfo v: sortedVolumInfos) {System.out.println(v.getValueStr());}}class VolumInfo {private double value;private String valueStr;public double getValue() {return value;}public void setValue(double value) {this.value = value;}public String getValueStr() {return valueStr;}public void setValueStr(String valueStr) {this.valueStr = valueStr;} }
}
华为OD机试题-java-磁盘容量排序相关推荐
- 【2022华为od机试题】【JAVA】【刷题子】华为od机试题:磁盘容量排序(AC:100%)
(注意:答案仅作为参考,但不作为最优解:实际机试中下面代码ac通过率:100%.如有更好优化的空间欢迎文章下方进行留言讨论) 一.题目与题目分析 题目 磁盘的容量v是有M.G.T三个等级的单位.(其中 ...
- 华为OD机试题:身高体重排序
题目描述 身高从低到高,身高相同体重从轻到重,体重相同维持原来顺序 示例 输入: 4 100 100 120 130 40 30 60 501 输出: 2 1 3 4 输入: 3 90 110 90 ...
- 华为OD机试题,用 Java 解【机器人走迷宫】问题
最近更新的博客 华为OD机试题,用 Java 解[停车场车辆统计]问题 华为OD机试题,用 Java 解[字符串变换最小字符串]问题 华为OD机试题,用 Java 解[计算最大乘积]问题 华为OD机试 ...
- 华为OD机试题,用 Java 解【火星文计算 2】问题
最近更新的博客 华为OD机试题,用 Java 解[停车场车辆统计]问题 华为OD机试题,用 Java 解[字符串变换最小字符串]问题 华为OD机试题,用 Java 解[计算最大乘积]问题 华为OD机试 ...
- 华为OD机试题,用 Java 解【最多等和不相交连续子序列】问题
最近更新的博客 华为OD机试题,用 Java 解[停车场车辆统计]问题 华为OD机试题,用 Java 解[字符串变换最小字符串]问题 华为OD机试题,用 Java 解[计算最大乘积]问题 华为OD机试 ...
- 华为od机试题4 真题
华为od机试题 真题 58.处理所有作业总时长 53.最大停车距离 52.磁盘容量排序 51.非严格递增连续数字序列长度 50.均分糖果 48.没有相同字符的元素长度乘积的最大值 47. 相对开音节结 ...
- 华为od机试题1 真题
华为od机试题 真题 86.射击比赛成绩排序 85.计算屏幕字母数量 84.组成最大数字 82.输出字符串中最小数字 81.数字4的个数 80.整数排列 79.多条件排列 78.时间排序 以下题目附带 ...
- 华为od机试题9 真题
华为od机试题 真题 9.寻找重复字符 7.字符串翻转 6.小朋友身高排序 5.CPU最少执行时间 4.猴子爬山 3.输出信元的值 2.指定元素对最小和 1.勾股数元组 以下题目附带Java解法,是我 ...
- 华为od机试题6 真题
华为od机试题 真题 35.输出满足条件的数对 34.寻找众数中的中位数 33.分配内存 32.窗口和的最大值 31.求整数的连续自然数之和的表达式 30.矩阵的最大值 以下题目附带Java解法,是我 ...
最新文章
- 2018-3-13 目标改动---智能算法
- 网页设计必备工具 firefox Web Developer插件 CSS工具组教程
- 使用ElasticSearch,Kibana,ASP.NET Core和Docker可视化数据
- 关于arguments的用法
- 互联网早报 | 3月16日 星期二 | 微信AI直播助理开放内测;汽车之家港交所挂牌上市;美团App内测“群聊”功能...
- 【AI视野·今日Robot 机器人论文速览 第九期】Thu, 17 Jun 2021
- 我的Linux折腾史
- 夜间灯光数据的ARCGIS操作处理笔记
- js行结尾,是否必须写分号
- k8s-----安全机制
- php怎么做网站?如何用PHP开发一个完整的网站?
- 下属被阿里挖角的那个早晨,我开始想念周鸿祎!
- 【React】React三大属性:Props、State、Refs
- 华为内部访谈:凡是溜须拍马的员工,一律拿掉
- vmware虚拟机上网设置教程(vmware虚拟机设置网络)
- Flux脚本语言基础使用-函数定义(InFluxDB 查询语言)
- 细解网易宝系统架构之高可用篇
- 什么是DNS?DNS的作用?
- 离散数学图论期末复习
- 云闪付怎么对接三方php,第三方支付-银联云闪付开发教程