投递蚂蚁集团等公司10个岗位 >
0 点赞 评论 收藏
分享
投递蚂蚁集团等公司10个岗位 >
0 点赞 评论 收藏
分享
cheeeenkun:# 我是拿python刷的题,没有用C++, 代码思路供参考 # 具体思路就是把python
list中每个元素的index也建成一个list, # 然后每当元素后移时,index也跟着移动,得到两个新的list, #
一个存放list中的元素,另一个存放index, # 这样无论怎么元素怎么移动,都能追踪到它的位置。 # 以[9,3,5]
为例,输出结果为[0,2,1] # 以[9,3,5,3]为例,输出结果为[0,3,1,2] #
如果你代码可以处理这两种情况,应该就可以全部通过了。
# python读取时需要','来split() # 输出时需要' ,'.join()来输出(注:输出是空格加逗号)
def printIndex(listx):
length = len(listx)
index_list = range(length)
order_dict = {}
i = 0
while i<length:
if listx[i] == max(listx[i:]):
order_dict[index_list[i]] = i
i += 1
else:
listx = listx[:i]+listx[i+1:]+[listx[i]]
index_list = index_list[:i]+index_list[i+1:]+[index_list[i]]
return_list = []
for i in range(length):
return_list.append(order_dict[i])
return return_list
listX = map(int,raw_input().split(','))
print ' ,'.join(map(str,printIndex(listX)))
投递华为等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: