华为OD机试真题B卷 Java 实现【数组拼接】,附详细解题思路

news2024/12/23 23:16:25

在这里插入图片描述

一、题目描述

现在有多组整数数组,需要将它们合并成一个新的数组。

合并规则,从每个数组里按顺序取出固定长度的内容合并到新的数组中,取完的内容会删除掉,如果该行不足固定长度或者已经为空,则直接取出剩余部分的内容放到新的数组中,继续下一行。

二、输入描述

第一行是每次读取的固定长度,0<长度<10

第二行是整数数组的数目,0<数目<1000

第3-n行是需要合并的数组,不同的数组用回车换行分隔,数组内部用逗号分隔,最大不超过100个元素。

三、输出描述

输出一个新的数组,用逗号分隔。

四、解题思路

  1. 从输入中读取固定长度len和整数数组的数目arrNum;
  2. 创建一个二维字符串数组strArr来存储输入的整数数组;
  3. 遍历arrNum行,将每行的整数数组按照逗号分隔存储到strArr中,并记录最长的数组长度maxLen;
  4. 初始化索引index为0,创建一个StringBuilder sb来存储合并后的新数组;
  5. 进行循环,每次循环从每个数组中按顺序取出固定长度len的内容添加到sb中,并删除已取出的内容;
  6. 更新索引index,继续下一次循环,直到所有数组都被取完;
  7. 检查sb的最后一个字符是否为逗号,如果是则删除最后一个逗号;
  8. 输出sb作为合并后的新数组;

五、Java算法源码

 public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    while (sc.hasNextLine()) {
        int len = Integer.parseInt(sc.nextLine());
        int arrNum = Integer.parseInt(sc.nextLine());
        String[][] strArr = new String[arrNum][];
        int maxLen = 0;
        for (int i = 0; i < arrNum; i++) {
            String str = sc.nextLine();
            if (str.length() > 0) {
                strArr[i] = str.split(",");
                if (strArr[i].length > maxLen) {
                    maxLen = strArr[i].length;
                }
            }
        }
        int index = 0;
        StringBuilder sb = new StringBuilder();
        while (index < maxLen) {
            for (int i = 0; i < arrNum; i++) {
                String[] arr = strArr[i];
                if (arr == null) {
                    continue;
                }
                for (int j = index; j < index + len; j++) {
                    if (j < arr.length) {
                        sb.append(arr[j]).append(",");
                    }
                }
            }
            index += len;
        }
        int lastIndex = sb.lastIndexOf(",");
        if (lastIndex != -1) {
            sb.deleteCharAt(lastIndex);
        }
        System.out.println(sb);
    }
}

六、效果展示

在这里插入图片描述

🏆下一篇:华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/628422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Anaconda教程,Python版本控制

Anaconda教程,Python版本控制 文章目录 Anaconda教程,Python版本控制1&#xff1a;Anaconda安装1.1&#xff1a;Windows1.2&#xff1a;Linux1.3&#xff1a;MacOS 2&#xff1a;Anaconda使用2.1&#xff1a;创建一个新的环境2.2&#xff1a;安装 Python 包2.3&#xff1a;激活…

hash模式下路由跳转页面不刷新

mode为hash时&#xff0c;纯粹页面&#xff0c;路由跳转过之后跳转上一级重复路由页面不会重新渲染 举个例子&#xff1a;当我在注册页面->注册状态页面->注册页面&#xff0c;在这个期间我从注册状态页面进行缓存的数据想要在注册页面使用&#xff0c;然而注册页面不会…

【YOLO系列】YOLO v5(网络结构图+代码)

文章目录 推理转换onnx网络架构SPP VS SPPFAutoAnchorLoss 参考 【YOLO系列】YOLO v3&#xff08;网络结构图代码&#xff09; 【YOLO 系列】YOLO v4-v5先验知识 【YOLO系列】YOLO v4&#xff08;网络结构图代码&#xff09; 我是在自己笔记本上配置的YOLO v5环境。首先&#x…

饼状图使用属性时,使用驼峰命名法

饼状图是使用D3.js等JavaScript库来绘制的&#xff0c;而JavaScript中的属性名通常采用驼峰式命名法&#xff0c;即第一个单词的首字母小写&#xff0c;后面单词的首字母大写&#xff0c;例如fontSize、fontWeight等。而CSS中的属性名采用连字符命名法&#xff0c;即单词之间用…

Top 5 Best Open Source Projects on GitHub 2023

这里介绍Github上 5 个增长最快的开源项目&#xff0c;它们为原有的解决方案提供了更加具有成本效益的替代方案&#xff0c;并为开发者、数据分析师和企业提供了高可用的工具产品。利用开源的优势&#xff0c;这5个项目拓展了强大而有效的解决方案&#xff0c;是值得收藏、分享…

比ureport好用的报表系统-VeryReport报表系统

随着数据时代的到来&#xff0c;数据成为企业管理和决策的重要依据。然而&#xff0c;在处理海量数据的同时&#xff0c;如何快速准确地生成各种形式的报表却成为了一个痛点。手工制作报表费时费力、容易出错&#xff1b;而传统的报表工具又复杂难用&#xff0c;无法满足不同用…

基于jsp+mysql+Spring+mybatis+Springboot的SpringBoot婚纱影楼摄影预约网站

运行环境: 最好是java jdk 1.8&#xff0c;我在这个平台上运行的。其他版本理论上也可以。 IDE环境&#xff1a; Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以&#xff0c;如果编译器的版本太低&#xff0c;需要升级下编译器&#xff0c;不要弄太低的版本 tomcat服务器环…

Linux下快速创建大文件的4种方法总结

1、使用 dd 命令创建大文件 dd 命令用于复制和转换文件&#xff0c;它最常见的用途是创建实时 Linux USB。dd 命令是实际写入硬盘&#xff0c;文件产生的速度取决于硬盘的读写速度&#xff0c;根据文件的大小&#xff0c;该命令将需要一些时间才能完成。 假设我们要创建一个名…

SAP从入门到放弃系列之CRP-part2

标准的生产处理流程如下&#xff1a; 在标准的流程里&#xff0c;MRP为无限产能方式&#xff0c;所以在MRP或者MPS之后&#xff0c;需要进行CRP计算&#xff0c;然后调整。 测试数据准备&#xff1a; 1、参考复制part1文章中的ZW01CRP工作中心复制到新的ZW01CRP2。 2、为物…

springboot 连接 kafka集群(kafka版本 2.13-3.4.0)

springboot 连接 kafka集群 一、环境搭建1.1 springboot 环境1.2 kafka 依赖 二、 kafka 配置类2.1 发布者2.1.1 配置2.1.2 构建发布者类2.1.3 发布消息 2.2 消费者2.2.1 配置2.2.2 构建消费者类2.2.3 进行消息消费 一、环境搭建 1.1 springboot 环境 JDK 11 Maven 3.8.x spr…

SpringCloud Alibaba Nacos--下

SpringCloud Alibaba Nacos-下 Nacos 配置中心实例 示意图 在Nacos Server 加入配置 进入到Nacos Server加入配置&#xff0c; 特别提醒: 文件后缀.yaml 别忘了. Data ID: e-commerce-nacos-config-client-dev.yaml 创建Nacos 配置客户端模块e-commerce-nacos-config-client…

kafka集群报错找不到broker

一、问题描述 某次用户反馈&#xff0c;kafka消费这边消息失败&#xff0c;报错消费者被踢出消费组或broker状态异常无法连接&#xff0c;后实际验证端口确实不通 现场测试验证&#xff0c;报错&#xff1a;报错&#xff1a;Failed to find brokers to send ListGroups……fi…

实战干货,pytest自动化测试-Git中的测试用例运行(详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 我们每天写完自动…

httprunner 2.x的基本使用(二)

上一章&#xff1a; httprunner 2.x介绍与使用_做测试的喵酱的博客-CSDN博客 下一章&#xff1a; 一、 api 文件夹&#xff08;没有任何数据依赖的场景&#xff09; api 文件夹&#xff1a;执行接口case的最小单元。如果一个接口case&#xff0c;没有任何数据依赖&#xff0…

虚拟ECU实践:汽车发动机控制器仿真

虚拟化技术使得在Windows PC上对汽车ECU&#xff08;Electronic Control Unit&#xff0c;电子控制器单元&#xff09;进行闭环仿真成为可能&#xff0c;能有效改善ECU开发过程。一些开发任务得以从道路、测试平台和HIL&#xff08;Hardware in the Loop&#xff0c;硬件在环&a…

Python入门教程+项目实战-13.3节-集合的快速查找

目录 13.3.1 键的输出顺序 13.4.2 键的数据类型 13.4.3 集合的快速查找 13.4.4 知识要点 13.4.5 系统学习python 13.3.1 键的输出顺序 集合类型的底层实现基于哈希表&#xff0c;键的输出顺序取决于键在哈希表中的存储顺序。 对哈希表结构不是很熟悉的同学&#xff0c;可…

【DBA生存之四大守则---读书笔记】

&#x1f448;【上一篇】 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 【下一篇】&#x1f449; &#x1f53b;《Oracle 数据库性能优化》一书的序言中提到: 兴趣勤奋坚持方法成功 很遗憾我不能给以上公式画上“”&#xff0c;但是无…

Coggle 30 Days of ML 打卡任务一

Coggle 30 Days of ML 打卡任务一 任务一&#xff1a;两个赛题数据可视化 难度/分值&#xff1a;低/1 打卡内容&#xff1a; 参赛选手名称&#xff1a;AppleDoctor完成日期&#xff1a;2023.6.6任务完成情况&#xff1a; 使用的编程语言&#xff1a;Python实现的功能&#…

八大排序算法

八大排序算法 是指常用的八种排序算法&#xff0c;它们包括&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09;&#xff1a;通过不断交换相邻元素的位置&#xff0c;将最大&#xff08;或最小&#xff09;的元素逐渐"冒泡"到最后&#xff08;或最前&#xf…

【技术分享】华为防火墙双机热备

组网需求 如图所示&#xff0c;两台FW旁挂在数据中心的核心交换机侧&#xff0c;保证数据中心网络安全。通过核心交换机的流量都会被引流到旁挂的FW上进行安全检测&#xff0c;引流的方式为静态路由方式。企业希望两台FW以主备备份方式工作。正常情况下&#xff0c;流量通过FW_…