华为机试100分题-工号排序2021

这篇博客分享了2021年华为机试的一道100分题目——工号排序。题目要求对一組含有字母和数字的工号按照数字部分进行升序排序。解决方案建议使用Java中的TreeMap按key排序。提供了相关代码资源链接,并提示输入的工号数字部分是唯一的。
摘要由CSDN通过智能技术生成

Java华为机试历年题库,获取方式见

更多华为机试题点击👉👉【闲鱼】https://m.tb.cn/h.5zQ8X5H?tk=VBwSWpn16Mq MF7997 「我在闲鱼发布了【京985硕亲自用过整理的,自己以275分过了华为机试,已经帮】」
点击链接直接打开

【编程题目 |100分】工号排序【2021 考试题】

时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld

本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,编码后请点击”保存并调试“按钮进行代码提交。

■ 题目描述
【工号排序】

给出的字符串结构是前边是字母、后边为数字,例如 wew0145,要求给出一组数据,按照后边的数字从小到大排序。

输入

wr0068,lt01,qhy0027828,gh20425256,xj0033258,zmj00505562
输出

lt01,wr0068,qhy0027828,xj0033258,zmj00505562,gh20425256

说明
按照报名名单中员工工号中的数字部分升序排序输出。
备注:输入名单中工号中数字都是唯一的。

思路:使用TreeMap,按照key进行排序。

Java代码:

public class GongHaoSort {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String[] sp = scanner.nextLine().split(",");
        int n = sp.length;
        String[] strs = new String[n];
        for (int i = 0; i < n; i++) {
            strs[i] = sp[i];
        }
        func(strs);
    }

    private static void func(String[] strs) {
        TreeMap<Integer, String> map = new TreeMap<>();
        int n = strs.length;
        for (int i = 0; i < n; i++) {
            String str = strs[i];
            int num = 0;
            for (int j = 0; j < str.length(); j++) {
                if (str.charAt(j) >= '0' && str.charAt(j) <= '9') {
                    num = Integer.parseInt(str.substring(j));
                    break;
                }
            }
            map.put(num, str);
        }
        int i = 0;
        for (String value : map.values()) {
            if (i != n - 1) System.out.print(value + ",");
            else System.out.print(value);
        }
    }
}

Java华为机试历年题库,获取方式见

整理不易,关注和收藏后拿走!
欢迎专注我的公众号:AdaCoding

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值