关注
知乎上有相关讨论:https://www.zhihu.com/question/50512830
def minmax_sort(A):
n = len(A)
def index(i):
'''
根据观察得到原数组和变换后的数组下标关系,
这里考虑下标从1开始
'''
if i<=n/2:
return 2*i
return (2*n-2*i+1)%(n+1)
A = A
for ii in xrange(1,n+1):
prev = A[ii-1]
if prev<0:#判断是否已经循环过了
continue
save,i = ii,ii
while True:
'''
关键部分,下标index(index(i))
嵌套会成为一个环,环之间不交叉,
对每个环将数放到它应该在的位置
'''
i = index(i)
cur = A[i-1]
A[i-1] = -prev #标记该位置已经被置换过了
prev = cur
if save==i: #回到循环起点
break
for i in xrange(n): #回正
A[i] *=-1
print(A)
return A
a = range(8,0,-1)
minmax_sort(a)
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
今天 17:35
苏州大学 前端工程师 
点赞 评论 收藏
分享
04-28 10:29
门头沟学院 前端工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 25届游戏客户端开发求职总结2.3W
- 2... 广州25应届计算机 Java想转行1.2W
- 3... 💌【520限时活动公告】牛爱网高甜营业!你的恋爱通关秘籍已送达~9123
- 4... 回望春招路~草草用如履薄冰带过5849
- 5... 【26届四段大厂】大二字节&腾讯offer 投递技巧保姆级教程5222
- 6... 955和996的真正区别5029
- 7... 差不多还有一周就要去团子实习了,部门自我感觉不是很核心,但是现在比较焦虑。清楚自己是一个八股选手,项目经验几乎是0,比较依赖ai,外卖点评什么的都没敲过,自己的学习能力应该算中等?很害怕进去之后比较push,然后发现我是个水货把我提前开除了,想问问这段时间可以做些什么准备呢?速通一下外卖项目跟着看一遍视频?(有点担心跟着敲一遍时间不够)?4112
- 8... 从我家亲戚看学历论和努力论3322
- 9... 腾讯 CSIG 三面 面经 已OC!~3039
- 10... 我对面的同事,入职一个月没说话2995
正在热议
更多
# 一人一个landing小技巧 #
32097次浏览 605人参与
# 选offer应该考虑哪些因素 #
2377次浏览 69人参与
# 我的求职总结 #
1377次浏览 25人参与
# 你想留在一线还是回老家? #
32913次浏览 401人参与
# 聊聊你的职场新体验 #
153250次浏览 1353人参与
# 58同城求职进展汇总 #
30836次浏览 246人参与
# 四大天坑是哪四家? #
68892次浏览 198人参与
# 三一集团提前批进度交流 #
20057次浏览 129人参与
# 大学最后一个寒假,我想…… #
34886次浏览 434人参与
# 你们公司哪个部门最累? #
12446次浏览 102人参与
# 米哈游工作体验 #
13632次浏览 108人参与
# 牛友们的论文几号送审 #
32594次浏览 695人参与
# 你小时候最想从事什么职业 #
88299次浏览 1643人参与
# 查收我的offer竞争力报告 #
180080次浏览 1181人参与
# 你认为工作的意义是什么 #
138113次浏览 994人参与
# 互联网公司爆料 #
118162次浏览 668人参与
# 你觉得机械有必要实习吗? #
5536次浏览 60人参与
# 这些公司卡简历很严格 #
31225次浏览 154人参与
# 你们公司几号发工资 #
15988次浏览 106人参与
# 怎么防止在试用期被辞退 #
117670次浏览 874人参与