华为OD机试 - 组成最大数(Java 2023 B卷 100分)

目录

华为OD机试 2023B卷题库疯狂收录中,刷题++点这里++

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

小组中每位都有一张卡片,卡片上是6位内的正整数,将卡片连起来可以组成多种数字,计算组成的最大数字。

二、输入描述

","号分割的多个正整数字符串,不需要考虑非数字异常情况,小组最多25个人。

三、输出描述

最大的数字字符串。

输入 输出 说明
22,221 22221
4589,101,41425,9999 9999458941425101

四、解题思路

  1. 输入一行数字,逗号隔开;
  2. 暴力算法,相邻两个数进行拼接、反拼接比较,如果拼接后的数字小于反拼接的数字,则交换位置;
  3. 注意使用Long类型,Integer的最大值是2147483647,无法满足两个卡片拼接(卡片上是6位内的正整数拼接);
  4. 输出组成的最大数字。

五、Java算法源码

java 复制代码
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String[] arr = sc.nextLine().split(",");
    // 暴力算法,相邻两个数进行拼接、反拼接比较,如果拼接后的数字小于反拼接的数字,则交换位置
    for (int i = 0; i < arr.length; i++) {
        for (int j = i + 1; j < arr.length; j++) {
            // 注意使用Long类型,Integer的最大值是2147483647,无法满足两个卡片拼接(卡片上是6位内的正整数拼接)
            if (Long.parseLong(arr[i] + arr[j]) < Long.parseLong(arr[j] + arr[i])) {
                String temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }

    // 输出组成的最大数字
    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < arr.length; i++) {
        builder.append(arr[i]);
    }
    System.out.println(builder);
}

六、效果展示

1、输入

4589,101,41425,9999

2、输出

9999458941425101

🏆下一篇:华为OD机试 - 荒岛求生 - 栈Stack(Java 2023 B卷 100分)

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

相关推荐
要开心吖ZSH2 小时前
一文搞懂:JDK 21 虚拟线程 vs N种异步方案,到底该怎么选?
java·数据库·jdk·虚拟线程
guodingdingh6 小时前
软件开发工作问题总结0718
java·开发语言·数据库
世人万千丶8 小时前
鸿蒙Flutter Flex多子组件权重分配
学习·flutter·华为·harmonyos·鸿蒙
咖啡八杯8 小时前
GoF设计模式——解释器模式
java·后端·spring·设计模式
优橙教育8 小时前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
糖果店的幽灵9 小时前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents
腻害兔10 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:字典、短信、邮件、通知——后台系统的“基础设施四件套“!
java·前端·vue.js·产品经理·ai编程
碎光拾影10 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库
圣光SG11 小时前
Servlet学习笔记
笔记·学习·servlet
Miao1213111 小时前
微服务 API 测试实践:海外某民宿平台如何构建模式驱动测试基础设施
java·开发语言