前言
牛客网华为机试(https://www.nowcoder.com/exam/oj/ta?tpId=37)
按难度分为入门,简单,中等,困难,较难五个等级
一,入门
HJ7 取近似值
n = float(input())
res = lambda x:int(x+0.5)
print(res(n))
HJ9 提取不重复的整数
提取到输入字符串后就对其进行倒置,排序时直接按ls1的顺序进行排列
ls1 = list(input()[::-1])
ls2 = list(set(ls1))
ls2.sort(key=ls1.index)
print(int(''.join(ls2)))
HJ46 截取字符串
字符串切片
str1 = input()
n = int(input())
print(str1[:n])
HJ58 输入n个整数,输出其中最小的k个
map()函数是为了初始化n,k以及列表中的str类型为int类型
最后输出的*nums[:k]是对num[:k]的解包。
n, k = map(int, input().split())
nums = sorted(list(map(int, input().split())))
print(*nums[:k])
HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序
依然是map()函数转化类型,sort()函数排序,*解包列表。
n = int(input())
ls1 = list(map(int,input().split()))
flag = int(input())
if flag == 0:
ls1.sort()
print(*ls1)
elif flag == 1:
ls1.sort(reverse=True)
print(*ls1)
二,简单
HJ1 字符串最后一个单词的长度
ls1 = input().split()
print(len(ls1[-1]