# 我是拿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)))
点赞 3

相关推荐

02-10 21:39
Java
点赞 评论 收藏
分享
牛客网
牛客企业服务