当前位置:   article > 正文

【华为机试真题8 Python实现】【按身高和体重排队】

【华为机试真题8 Python实现】【按身高和体重排队】
"""
题目描述:
某学校举行运动会,学生们按编号(1,2,3,4,5。。。n)进行标识,现在需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排序,
对于身高体重都相同的人,维持原有的编号顺序关系,请输出排列后的学生编号。
输入描述:
两个序列,每个序列由n个正数组成,第一个序列中的数值代表身高,第二个序列中的数值代表体重,
输出描述:
排列结果,每个数值都是原始序列中学生的编号,编号从1开始
示例:
4
100 100 120 130
40 30 60 50
输出:
2 1 3 4
"""
# num = int(input())
# height = list(map(int, input().split(' ')))
# weight = list(map(int, input().split(' ')))
# dict1 = []
# for i in range(1, num + 1):
#     dict1.append((i, height[i - 1], weight[i - 1]))
# print(dict1)
# dict1 = sorted(dict1, key=lambda x: (x[1], x[2]))
#
# print(dict1)
# print(' '.join([str(i[0]) for i in dict1]))


num = int(input())
height = list(map(int, input().split(' ')))
weight = list(map(int, input().split(' ')))
dict1 = {}
for i in range(1, num + 1):
    # dict1.append((i, height[i - 1], weight[i - 1]))
    dict1[i] = [height[i - 1], weight[i - 1]]
print(dict1.items())
dict1 = sorted(dict1.items(), key=lambda x: (x[1][0], x[1][1]))
#
print(dict1)
c = []
for i in dict1:
    c.append(i[0])

print(" ".join([str(i) for i in c]))
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/442172
推荐阅读
相关标签
  

闽ICP备14008679号