关注
思路间代码注释 def minDistance():
'''
想法:
如果项链是一条线,不是环,那么线上各珍珠最小移动距离为到中位数的移动距离,
所以遍历项链的n个位置,剪断,将项链拉成一条线,此时求最短移动距离,然后取最短
'''
l,n=list(map(int,input().strip().split()))
pos=list(map(int,input().strip().split()))
def __mindistance(onepos):
'''每条线的最短移动距离'''
if n%2==0 and n>2:
midNum1=onepos[n//2]
midNum2 = onepos[n//2 -1]
steps1 = 0
steps2 = 0
for num in onepos:
steps1 += abs(num - midNum1)
steps2 += abs(num - midNum2)
pianyi = 0
for i in range(n//2 -1):
pianyi += i
steps = min(steps1, steps2)
return steps - pianyi * 2 - n
else:
zhongweishu = onepos[n // 2]
steps = 0
for num in onepos:
steps += abs(num - zhongweishu)
pianyi = 0
for i in range(n // 2):
pianyi += i
return steps - pianyi * 2 - n+1
minstep=sum(pos)
for i in range(l):
pos_temp=[po-i if po>=i else l-i+po for po in pos]
pos_temp.sort()
step=__mindistance(pos_temp)
if step<minstep:
minstep=step
return minstep
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
12-17 18:14
华南师范大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 工作半年后更确定:我们依然不欠优绩主义什么6441
- 2... 杂记近期所面试的三家中小厂4900
- 3... 岁末论道:谁才是牛客 2025 最强修仙者?4321
- 4... #牛客2025仙途报告#居然是五颗星3743
- 5... 仙途报告3061
- 6... 【2025-年终总结】25届毕业生果果牛这一年~2925
- 7... 圣诞节用 AI 做个牛客运营翻翻乐!(含代码)2652
- 8... 互联网实习求职的黑话和timeline,你所需要知道的……2477
- 9... 我只是一个脆弱的人2025
- 10... 一个程序员的自救书|从酒吧陪玩DM到上岸大厂1960
正在热议
更多
# 牛客2025仙途报告 #
6591次浏览 168人参与
# 礼物开箱Plog #
2111次浏览 95人参与
# 2025年终总结 #
181535次浏览 3086人参与
# 哪些行业值得去? #
14481次浏览 77人参与
# 职场新人体验 #
157077次浏览 1128人参与
# 工作两年,想和老板谈涨薪怎么说 #
38877次浏览 175人参与
# 你面试体验感最差/最好的公司 #
24235次浏览 412人参与
# 考公VS就业,你怎么选? #
88269次浏览 497人参与
# 今年你最想重开的一场面试是? #
7052次浏览 94人参与
# 秋招落幕,你是He or Be #
17447次浏览 317人参与
# 一人说一个提前实习的好处 #
15990次浏览 251人参与
# 离家近房租贵VS离家远但房租低,怎么选 #
13784次浏览 130人参与
# 找工作,行业重要还是岗位重要? #
86047次浏览 1709人参与
# 重来一次,你会对开始求职的自己说 #
7471次浏览 203人参与
# 各大公司公布25年Q3财报,你怎么看? #
5080次浏览 50人参与
# 实习没事做是福还是祸? #
19864次浏览 312人参与
# 大家每天通勤多久? #
70776次浏览 472人参与
# 实习的内耗时刻 #
212101次浏览 1567人参与
# 工作中听到最受打击的一句话 #
9557次浏览 158人参与
# 机械制造秋招总结 #
97445次浏览 878人参与
