【华为机试真题 Python实现】2022年4季度最新机试题
admin
2024-04-23 01:03:40
0次

文章目录

  • 2022年4季度最新机试题
  • 机试必须要会的函数
    • 输入输出处理
    • for 循环
      • 通过下标访问元素
      • 直接迭代访问元素
      • 同时访问下标和元素
    • while 循环
    • 字符ASSIC码转换
    • 进制转换
    • 绝对值计算
    • 幂运算
    • 最值选取
    • 排序


2022年4季度最新机试题

最近准备华为OD社招的同学还比较多,已经有1k多的订阅,大多是没有编程经验的同学,上来一顿的搜题背题,没有去理解题目思考结题思路,导致机考时题目稍微一变化就不知道怎么做了,不过OD的机试的重复也是真的高,下面是最近整理的最新机试题,希望对你有帮助,还在更新中…

题目分值
冗余覆盖100分
优选核酸检测点100分
日志首次上报最多积分100分

机试必须要会的函数

输入输出处理

华为OD社招使用的是ACM 模式,刷惯了LeetCode的同学一时可能会不适应,ACM模式你的代码需要处理输入input输出print

while 1:try: # 输入a = input().split()# 输出print(int(a[0]) + int(a[1]))except:break

当输入的是 4 2 3 4 5 ,每行的第一个数字表示后面有效数据的格式时,我们可以这样处理 *nums

n, *nums = input().split()
print(n)
print(nums)
> 4
> ['1', '2', '3', '4']

当输入的数据需要批量转换数据类型是,我们可以使用 map

n, *nums = list(map(int, input().split()))
print(n)
print(nums)
> 4
> [1, 2, 3, 4]

当输入的逗号分隔的数据时,我们可以使用 .split(',') 分隔

当需要接收连续n行的输入时,我们可以使用推导式连续接收输入
如:【华为机试真题 Python实现】机器人走迷宫 问题

# 4
# 1 2 3 4
# 2 3 4 5
# 3 4 5 6
# 4 5 6 7n = int(input())
nums = [input().split() for i in range(n)]
print(n)
print(nums)> 4
> [['1', '2', '3', '4'],
>  ['2', '3', '4', '5'],
>  ['3', '4', '5', '6'],
>  ['4', '5', '6', '7']]

当需要输出指定格式,可以使用
"".join() 不能拼接字符串,如果待处理数据时数值类型需要使用转化类型

nums = [1, 2, 3, 4]
print(",".join(map(str, nums)))
> 1,2,3,4

for 循环

当我们需要遍历一个可迭代对象(字典、列表、集合、字符串等)不需要特殊处理下标时,推荐使用for循环,可以避免访问越界问题

通过下标访问元素

nums = [1, 2, 3, 4]for i in range(len(nums)):print(nums[i], end=" ")
> 1 2 3 4

直接迭代访问元素

nums = [1, 2, 3, 4]
for i in nums:print(i, end=" ")
> 1 2 3 4

同时访问下标和元素

nums = [1, 2, 3, 4]
for i, v in enumerate(nums):print(i, v, end=" ")
> 0 1 1 2 2 3 3 4 

while 循环

当我们遇到滑动窗口问题,需要通过左右边界动态调整窗口大小时,推荐使用while

nums = [1, 2, 3, 4]
i = 0
j = 1
while j < len(nums):print(nums[i: j])j += 1
> [1]
> [1, 2]
> [1, 2, 3]

字符ASSIC码转换

当遇到对字符处理的题是,比如 abcz 转为 bcda,实际是对assic值加1来处理的

ord('a')
> 97
ord('b')
> 98
chr(97)
> a

进制转换

如【华为机试真题 Python实现】数据分类【2022 Q1 Q2 |200分】 问题中出现的 进制转换hex() 整型转16进制数,返回字符串

函数名功能
hex10进制转16进制数
int将一个字符串或数字转换为整型
bin10进制转2进制

绝对值计算

abs() 函数返回数字的绝对值

幂运算

pow() 函数方法返回 xy(x 的 y 次方) 的值
我也可以使用 x**y 表示x 的 y 次方

最值选取

使用max获取最大值,min获取最小值

排序

当我们需要对列表、字典排序时,可以使用sorted
当需要按多种条件同时进行排序时,如【华为机试真题 Python实现】奖牌榜的排名 问题,需要根据金牌数、银牌数、铜牌数、国家名称首字母4个条件同时排序,我们可以使用lambda构建排序规则实现

dex_lst = sorted(temp.items(), key=lambda itm: itm[1], reverse=True)

相关内容

热门资讯

AI做攻略、“双向奔赴”……国... 本文转自:人民网人民网记者 许维娜今年国庆假期,AI(人工智能)成了不少年轻人的“旅行搭子”。行前做...
合肥的这个“梗”, 翻篇了 社交平台的评论区,曾长期流传一句专属于合肥的黑色幽默。有人问合肥哪里好玩,本地网友半开玩笑地回复:合...
7万+旅游中高层都在的群,今天... 做旅游这行,资源卡位、渠道互通、项目落地——往往就差一个“对的机会”。我们的行业社群已聚集70,00...
一场帐篷音乐节,如何让井研从“... 帐篷音乐节现场封面新闻记者 周洪攀10月的研溪湿地,晚风里裹着柑橘的清甜与民谣的回响。夜幕降临,10...
白鹤翩翩落星愿,上海迪士尼度假... 10月9日,世界候鸟日前夕,上海迪士尼度假区星愿公园的湖风里多了一分白鹤的灵动。三座白鹤雕塑正式揭幕...
成都锦江边赏初秋枫叶飘飘 目前,成都锦江边国华街枫叶树红了。近年来,国华街附近的几条街都栽种了红枫树,是城区较集中看枫叶的点位...
GBTA:商务旅行正在复苏,但... 亚太正在成为全球商务旅行增长的重要引擎。在经历疫情后的快速反弹之后,全球商务旅行正在进入一个新的增长...
从景区焕新到节赛引流 邹城双节... 齐鲁网·闪电新闻10月9日讯 中秋、国庆“双节”假期,邹城市文化和旅游局提前谋划、周密部署,立足自身...
江山如此多娇 且看石楼今朝 金秋十月,黄河岸畔秋意盎然,丰收盛会喜迎国庆。本次石楼国庆文旅活动以“江山如此多娇,且看石楼今朝”为...
海南国庆假期接待游客475.4... 2026年国庆假期,海南接待游客475.40万人次,较2025年增长13.1%,较2024年增长15...