【华为机试】2023年真题B卷(python)-分班问题

2023-12-19 16:36

本文主要是介绍【华为机试】2023年真题B卷(python)-分班问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、题目

题目描述:

幼儿园两个班的小朋友在排队时混在了一起,每位小朋友都知道自己是否与前面一位小朋友同班,请你帮忙把同班的小朋友找出来。小朋友的编号是整数,与前一位小朋友同班用Y表示,不同班用N表示。学生序号范围(0,999],如果输入不合法则打印ERROR。

二、输入输出

输入描述:
输入为空格分开的小朋友编号和是否同班标志。
输出描述:
输出为两行,每一行记录一个班小朋友的编号,编号用空格分开,且:
1.编号需按照升序排列。
2.若只有一个班的小朋友,第二行为空行。

三、示例

示例1

输入输出示例仅供调试,后台判题数据一般不包含示例
输入:
1/N 2/Y 3/N 4/Y
输出:
1 2
3 4
示例2 

输入输出示例仅供调试,后台判题数据一般不包含示例
输入
1/N 2/Y 3/N -4/Y 5/Y
输出
1 2
3 4 5

四、解题思路

解析输入字符串,根据小朋友的编号和与前一个同学是否同班标志将其分到两个班级中。然后,对每个班级的小朋友编号进行升序排序,并将结果输出。

五、参考代码 

# -*- coding: utf-8 -*-
'''
@File    :   2023-B-分班问题.py
@Time    :   2023/12/18 22:33:03
@Author  :   mgc 
@Version :   1.0
@Desc    :   None
'''def is_valid_child_num(child_num):# 判断小朋友编号是否合法return 0 < child_num <= 999def classify_children(input_str):children = input_str.split()if len(children) == 0:return "ERROR"class1, class2 = [], []  # 存储两个班级的小朋友编号same_class = True  # 标记是否与前一位小朋友同班for child in children:child_num, child_sign = int(child.split('/')[0]), child.split('/')[1]if not is_valid_child_num(child_num):return "ERROR"if child_sign == "N":same_class = not same_classif  same_class :class1.append(child_num)else:class2.append(child_num)class1.sort()class2.sort()if class1 == [] or class2 == []:class_list = class1 + class2return " ".join(map(str, class_list))elif class1[0] <= class2[0]:return " ".join(map(str, class1)) + "\n" + " ".join(map(str, class2))else:return " ".join(map(str, class2)) + "\n" + " ".join(map(str, class1))input_str = input()
result = classify_children(input_str)
print(result)

这篇关于【华为机试】2023年真题B卷(python)-分班问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/512922

相关文章

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat