华为OD机试真题B卷 Python 实现【箱子之形摆放】,附详细解题思路

news/2025/1/15 3:00:23/

在这里插入图片描述

目录

    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
    • 五、Python算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出
      • 3、说明

一、题目描述

要求将一批箱子按从上到下以‘之’字形的顺序摆放在宽度为 n 的空地上,输出箱子的摆放位置,例如:箱子ABCDEFG,空地宽为3。

摆放效果如下图:
在这里插入图片描述
则输出结果为:

AFG
BE
CD

二、输入描述

一行字符串,通过空格分割两部分,前面str部分表示箱子的字符串由数字或字母组成,后面部分是表示宽度的数字n,

如下:

ABCDEFG 3

三、输出描述

输出:

AFG
BE
CD

注:最后一行不得输出额外的空行

str只包含数字和数字,1<=len(str)<=1000,1<=n<=1000。

四、解题思路

  1. 将输入的字符串按空格分割为两部分,分别为箱子的字符串和空地的宽度;
  2. 创建一个HashMap map,用于存储每行的字符串;Key为行的下标,Value为对应的字符串;
  3. 遍历箱子的字符串,根据空地的宽度确定每个字符应该放置的行和列;
    • 计算当前字符所在的列,即columnIdx = i / num,其中i为当前字符的索引;
    • 如果columnIdx是偶数,则表示从左往右摆放,行索引不变,列索引为i % num;
    • 如果columnIdx是奇数,则表示从右往左摆放,行索引不变,列索引为num - 1 - (i % num),即倒序摆放;
    • 将当前字符添加到对应行的字符串中;
  4. 遍历HashMap map,按行输出箱子的摆放位置;
  5. 输出结果。

五、Python算法源码

import mathtext, w = input().split()
w = int(w)cols = [''] * math.ceil(len(text) / w)for i in range(len(text)):num_c = i // wif num_c % 2 == 0:cols[num_c] += text[i]else:cols[num_c] = text[i] + cols[num_c]if len(cols) % 2 == 0 and len(cols[-1]) != w:cols[-1] = (w - len(cols[-1])) * ' ' + cols[-1]result = [''] * wfor i in range(w):for col in cols:if i < len(col) and col[i] != ' ':result[i] += col[i]
for res in result:if res == '':continueprint(res)

六、效果展示

1、输入

ABCDEFGHIJKMLN 4

2、输出

AHI
BGJ
CFKN
DEML

3、说明

关键是要看破【偶索引正序、奇数列倒序】。

在这里插入图片描述

在这里插入图片描述



🏆下一篇:华为OD机试真题 Python 实现【相对开音节】【2022Q4 100分】,附详细解题思路

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

每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述


http://www.ppmy.cn/news/674958.html

相关文章

常见的中成药神奇疗效

1 逍遥丸 逍遥丸过去常用于治疗肝郁血虚、肝脾不和所致的口燥咽干、神疲乏力、食欲减退、两胁胀痛 等症。近年来经科研和临床试用发现本品还有很多新用途。 治高脂血症 本品有良好的降低血脂功效&#xff0c;且疗程短、见效快&#xff0c;长期服用无毒副作用&#xff0c;停药后…

洪荒:开局摆下九曲黄河阵(一)

第一章 赵公明出关&#xff0c;证得大罗道果&#xff01;   东海&#xff0c;峨眉山。 山上&#xff0c;森罗万象&#xff0c;光怪陆离&#xff0c;亿万万道璀璨神光弥漫苍穹寰宇&#xff0c;浩瀚的大道神音演绎道法自然&#xff01; 峨眉山&#xff01; 这是通天圣人亲传…

欧歌赛机器人_本页面内容已永久停止用户浏览!

内容提示 对不起,根据本站相关业务调整,本页面内容已永久停止用户浏览! 1、如果您要继续浏览本站,可以点击这里进入本站首页! 2、如果您要继续寻找与此本篇内容相关网页,可以点击这里进入百度搜索! 3、如需要与本站进行业务合作可以联系QQ:281688302,添加好友请注明人…

机载雷达发展简史:从蝙蝠到机载相控阵

来源&#xff1a;军事高科技在线 从地基起步 蝙蝠&#xff0c;虽然像人一样拥有双眼&#xff0c;但它看起东西来&#xff0c;用到的却不是眼睛。蝙蝠从鼻子里发出的超声波在传输过程中遇到物体后会立刻反弹&#xff0c;根据声波发射和回波接收之间…

阵列信号处理笔记-波达方向DOA-子空间方法

阵列信号处理-波达方向DOA-子空间方法 前言子空间和子空间数据模型子空间子空间数据模型子空间模型的参数估计1.参数建模信号采样参数估计 DOA 估计问题Deterministic maximum likelihood方法Beam forming方法 MUSIC和ESPRITMUSIC SRP-PHATCSSMWAVESTOPSFRIDA术语和约定-notati…

游戏服务器显示OV,云顶之弈:这才是版本答案,连神超都开始连败开局了,学会就上分...

#2020百度APP游戏年度盛典# 百度搜索“游戏年度盛典”&#xff0c;为你心目中的年度影响力投票吧&#xff01;还有小度音响、定制周边等高能福利等你来拿哦&#xff01; 哈喽&#xff0c;大家好这里是OV说游戏&#xff01;之前跟各位老哥们分享一套明昼刺的玩法&#xff0c;不过…

前端图片引入方式神演算

https://zhuanlan.zhihu.com/p/24315362?utm_sourcetuicool&utm_mediumreferral 作者&#xff1a;沐洒 链接&#xff1a;https://zhuanlan.zhihu.com/p/24315362 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 先…

互联网玄学的“造神”奇迹还能持续多久?

一个叫“陶白白”的星座主播&#xff0c;火了。 先是 “你会为了我去陶白白那搜我的星座吗”在抖音刷屏&#xff0c;后又迅速冲上微博热搜&#xff0c;不到一个月抖音粉丝增长破千万&#xff0c;在粉丝眼中讲解星座运势“准到离谱”的陶白白&#xff0c;创造了又一个互联网“造…