题解 | #合并表记录#

合并表记录

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

N = input()

ks = []
# vs = []
while 1:
    try:
        k, v = input().split(' ')
        ks.append([int(k), int(v)])
        # vs.append(v)
    except:
        break

sorted_ks = sorted(ks, key=lambda x: x[0])
sorted_ks_end_pad = [sorted_ks[-1][0]+1, 0]  # 最后一位插入一个键值与之前都不一样的键值对,因为下面的循环不会打印最后一个键值,不同键值是为了不仅如此循环中的第一个分支,导致无法打印
sorted_ks.append(sorted_ks_end_pad) 

pre_ele = sorted_ks[0]
for i, ele in enumerate(sorted_ks[1:]):
    if ele[0] == pre_ele[0]:
        pre_ele[1] += ele[1]
    else:
        print(pre_ele[0], pre_ele[1])
        pre_ele = ele

全部评论

相关推荐

投票
我要狠拿offer:如果不是必须去成都绝对选九院呀,九院在四川top1研究所了吧
点赞 评论 收藏
分享
10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务