华为OD机试 - 箱子之字形摆放(Java 2024 E卷 100分)

news2024/11/20 7:26:27

在这里插入图片描述

华为OD机试 2024E卷题库疯狂收录中,刷题点这里

专栏导读

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

刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

有一批箱子(形式为字符串 Q,设为str),要求将这批箱子按从上到下以下Z字形顺序摆放在宽度为 n 的空地,请输出箱子的摆放位置。

例如:箱子ABCDEF, 空地宽度为3,摆放结果如图:

在这里插入图片描述
则输出结果为:

AFG
BE
CD

二、输入描述

输入一行字符串,通过空格分隔,前面部分为字母或数字组成的字符串str,表示箱子;后面部分为数字n,表示空地的宽度。

例如:ABCDEFG 3

三、输出描述

箱子摆放结果,如题目示例所示

AFG
BE
CD

四、测试用例

测试用例1:

1、输入

ABCDEFGHIJK 4

2、输出

AHI
BGJ
CFK
DE

3、说明

测试用例2:

1、输入

123456789 4

2、输出

189
27
36
45

3、说明

五、解题思路

  1. 输入处理:
    • 读取输入字符串str和宽度n。
  2. 初始化数据结构:
    • 创建一个包含n个列表的列表(matrixLists),每个子列表对应空地的一列,用于存放摆放的箱子。
  3. 摆放箱子:
    • 遍历字符串中的每个字符,根据当前位置i和宽度n计算当前应该放置到哪一列。
    • 使用一个布尔变量reverse来控制当前行的摆放方向(从左到右或从右到左)。每当到达新的一行(即i % n == 0)时,切换reverse的值。
    • 如果reverse为true,则调整列索引为n - 1 - k,实现反向摆放。
    • 将当前字符添加到对应的列列表中。
  4. 输出结果:
    • 遍历matrixLists中的每个子列表,将其中的字符连接成字符串,并逐行输出,得到最终的摆放结果。

六、Java算法源码

public class OdTest02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String s = sc.next();
        int n = sc.nextInt();

        List<List<String>> matrixLists = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            matrixLists.add(new ArrayList<>());
        }

        boolean reverse = true;
        for (int i = 0; i < s.length(); i++) {
            int k = i % n;

            if (k == 0) {
                reverse = !reverse;
            }

            if (reverse) {
                k = n - 1 - k;
            }

            matrixLists.get(k).add(s.charAt(i) + "");
        }

        for (List<String> list : matrixLists) {
            System.out.println(String.join("", list));
        }
    }
}

七、效果展示

1、输入

ABC 5

2、输出

A
B
C

3、说明

初始化:创建5个空的列列表:column0, column1, column2, column3, column4。

遍历字符串:

i=0 (A): k=0%5=0,切换方向(reverse 从 true 变为 false),放入 column0。
i=1 (B): k=1%5=1,方向不变,放入 column1。
i=2 ©: k=2%5=2,方向不变,放入 column2。

最终列内容:

column0: A → “A”
column1: B → “B”
column2: C → “C”
column3: 空
column4: 空
在这里插入图片描述


🏆下一篇:华为OD机试 - 简易内存池 - 逻辑分析(Java 2024 E卷 200分)

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

刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

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

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

相关文章

【CodeGlance Pro】Idea升级2024.3代码地图不能使用:“不兼容: 需要 IDE 内部版本 233.*或更低版本”

今天升级了一下idea的版本&#xff0c;原本是idea2023&#xff0c;升级之后发现CodeGlance Pro提示&#xff1a;不兼容: 需要 IDE 内部版本 233.*或更低版本。代码地图不能使用&#xff0c;对于已经习惯了这个工具的开发者而言十分难受。在网上搜了很多也没有找到平替插件。后面…

HTML5实现好看的唐朝服饰网站模板源码2

文章目录 1.设计来源1.1 网站首页1.2 唐装演变1.3 唐装配色1.4 唐装花纹1.5 唐装文化 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板&#xff0c;程序开发&#xff0c;在线开发&#xff0c;在线沟通 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.ne…

大模型落地需要一把“梯子”

自ChatGPT横空出世以来&#xff0c;大模型技术如同一股旋风席卷全球科技界。我们亲眼见证了这场革命性变革的演进&#xff0c;从2023年上半年开始&#xff0c;企业和开发者们争相囤积算力、训练模型&#xff0c;掀起了一股“大模型军备竞赛”。而随着时间推移&#xff0c;市场逐…

OpenCV特征检测(9)检测图像中直线的函数HoughLines()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在二值图像中使用标准 Hough 变换查找直线。 该函数实现了用于直线检测的标准 Hough 变换或标准多尺度 Hough 变换算法。详见 http://homepages…

新手向-Java调用C接口

最近工作上需要用java调用C接口&#xff0c;在这里记录一下。 非专业人员&#xff0c;有不同意见欢迎评论区交流。 java调用c接口一般有两种方案&#xff0c;JNI和JNA&#xff0c;JNI性能更好&#xff0c;使用复杂&#xff0c;JNA性能一般&#xff0c;使用简单&#xff0c;这里…

DnsDiag:一款针对DNS的故障排除和安全审计工具

关于DnsDiag DnsDiag是一款针对DNS的故障排除和安全审计工具&#xff0c;在该工具的帮助下&#xff0c;广大研究人员可以轻松检测DNS基础设施的安全性。 你是否曾怀疑过你的 ISP 是否劫持了你的 DNS 流量&#xff1f;你是否曾观察到 DNS 响应有任何异常行为&#xff1f;你是否…

计算机系统的组成

第二章&#xff1a;计算机系统组成 一、信息表示及存储 数据是反映客观事物属性的记录&#xff0c;是信息的具体表现形式。数据经过加工处理之后&#xff0c;就 成为信息&#xff1b;而信息需要经过数字化转变成数据才能存储和传输。 数据信息分为数值型和非数值型。 计算机能…

4.3章节python中循环结构:两种类型:for 循环和 while 循环用法

Python 中的循环结构主要有两种类型&#xff1a;for 循环和 while 循环。每种循环都有其特定的使用场景&#xff0c;允许你根据需要重复执行代码块。 一、遍历循环for语句 for 循环用于遍历任何序列&#xff08;如列表、元组或字符串&#xff09;或其他可迭代对象 (1)for 循环…

【Mysql】数据库基本操作-----DML

1、基本操作 DML是数据操作语言&#xff0c;英文全称是&#xff1a;Data Manipulation Language,用来对数据库中的数据记录进行更新。 关键字&#xff1a; &#xff08;1&#xff09;插入insert &#xff08;2&#xff09;删除delete &#xff08;3&#xff09;更新upda…

element的描述列表<el-descriptions>添加字典翻译功能

标题1 可以利用对象赋值进行翻译功能: HTML代码: <el-descriptions border :column"2" direction"vertical"><el-descriptions-item label"单位类别">{{companyTypeFormat(viewForm.companyType?viewForm.companyType:)}}</el-…

【AI变现】探索AI领域的财富密码:5大AI变现路径解析

随着现代科技的高速发展&#xff0c;AI已经不只是一个概念工具&#xff0c;它正在深刻地改变着我们的生活方式、工作模式和商业模式。 在这个AI无处不在的时代&#xff0c;如何抓住机遇&#xff0c;利用AI技术创造财富&#xff0c;成为了许多人关注的焦点。 接下来&#xff0…

2.5 有限冲激响应(FIR)滤波器

2.5 有限冲激响应&#xff08;FIR&#xff09;滤波器 2.5 有限冲激响应&#xff08;FIR&#xff09;滤波器 在此阶段&#xff0c;我们知道&#xff0c;大多数实际感兴趣的信号可以看作是不同频率下振荡的复数正弦波的总和。这些正弦波的幅度和相位决定了该信号的频率内容&…

苏州 工业三维动画制作「世岩清上」一站式可视化营销服务商

在现代工业设计和营销中&#xff0c;三维动画已成为一种重要的视觉传达工具。它不仅能够直观展示产品的外观和功能&#xff0c;还能通过动态演示来增强观众的理解和体验。本文将深入探讨工业三维动画制作的关键点&#xff0c;包括产品动画和场景动作的制作技巧。 产品动画制作…

数据结构实验二之栈和队列(上)——环形队列和链队

实验题3:实现环形队列的各种基本运算的算法 题目描述 编写一个程序sqqueue.cpp,实现环形队列(假设栈中的元素类型ElemTye为char)的各种基本运算,并在此基础上设计一个程序exp3-3.cpp完成以下功能。 (1)初始化队列q。 (2)判断队列q是否非空。 (3)依次进队元素a、b、c。 (4)出队…

【工具变量】无废城市试点DID数据集(2000-2023)

数据简介&#xff1a;2018年&#xff0c;国务院办公厅发布了《“无废城市”建设试点工作方案》&#xff0c;明确了“无废城市”的概念&#xff0c;强调通过创新、协调、绿色、开放的理念&#xff0c;推动城市固体废物管理的综合改革&#xff0c;力求实现固体废物产生量最小、资…

AI新方向:OpenAI o1是一个更擅长思考的模型系列:高级推理+逻辑严密+更广泛的知识,用于解决复杂的逻辑问题,慢思考

之前推出AI store感觉偏应用&#xff0c;也千篇一律&#xff0c;是AI的一个方向&#xff1a;广度。 现在推出o1 更严密的逻辑&#xff0c;也是AI的一个方向&#xff1a;深度。花更多时间&#xff0c;推理复杂的任务并解决比以前的科学、编码和数学模型更难的问题。确保AI的使用…

大模型训练技术:使用QLM提升Qwen2-7B 128k训练效率3.4倍

大模型训练技术&#xff1a;使用QLM提升Qwen2-7B 128k训练效率3.4倍 原创 一、引言 自Transformer架构问世以来&#xff0c;大模型领域的进展如火如荼&#xff0c;短短几年内&#xff0c;模型参数规模已攀升至天文数字&#xff0c;轻松跨过万亿门槛。面对如此庞然大物&#…

Comfyui 学习笔记3

ipadapter 用noise 增强画质 ipadapter 对每张图片的精准控制 对于一个 不是正方形的图形 作为ipadapter 可能丢弃下半身的风格&#xff0c;需要用ipadapter tile进行ipadapter 全身mask ipadapter advance weight_type 构图和风格迁移 构图迁移&#xff1a;左边什么 右面…

千万不要运行!几个可以整蛊你朋友的Python程序!

Python 能做很多无聊&#xff0c;但有意思的事情&#xff0c;例如接下来的一些案例。以下程序&#xff0c;不要发代码&#xff0c;要不实现不了你整蛊的目的。 要打包成一个 exe 程序&#xff0c;发给朋友才有意思&#xff0c;使用 pip install pyinstaller。 打包命令如下&a…

o1规划能力首测!已超越语言模型范畴,preview终于赢mini一回

克小西 发自 凹非寺 量子位 | 公众号 QbitAI o1-preview终于赢过了mini一次&#xff01; 亚利桑那州立大学的最新研究表明&#xff0c;o1-preview在规划任务上&#xff0c;表现显著优于o1-mini。 相比于传统模型的优势更是碾压级别&#xff0c;在超难任务上的准确率比Llama3.…