# 不知道能不能过,求题目测试 # 这种做法的时间复杂度应该是O(klgk+kn) import sys def calc_movement(start, end):     global total_num     global position     movement = 0     if end >= total_num:         position.append(total_num + position[0])         position.pop(0)     for idx, num in enumerate(position):         movement += abs(start + idx - num)     return movement if __name__ == "__main__":     line1 = sys.stdin.readline().strip().split()     line2 = sys.stdin.readline().strip().split()     line1 = map(int, line1)     line2 = map(int, line2)     total_num = line1[0]     position = line2     position = sorted(position)     window_size = len(position)     result = sys.maxint     for i in range(total_num):         result = min(result, calc_movement(i, i + window_size-1))     print result
点赞 评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
02-26 09:15
已编辑
蚌埠学院 golang
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务