Ps: 用惯了Py,都不习惯Java了,老是忘写(),{ } 还有结尾的分号,我这种找不到工作的节奏啊, 笔试完了,终于想出这个怎么做了。
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def findKthMax():
con=[int(i) for i in raw_input().split()]
n=con[0]
m=con[1]
num=[int(i) for i in raw_input().split()]
result=[]
idx=0
#遍历num,如果是1,直接加到result里面去;如果不是1,就在result里面添加item个item进去
#另外找到第一个非1数字的索引idx
for item in num:
if item==1:
result.append(item)
else:
result.extend([item]*item)
idx=num.index(item)
break
# 统计result中1的个数,如果全是1,那么直接输出n个1
numof1=result.count(1)
if numof1==m:
return [1]*n
while len(result)
if num[0]==1:
for j in xrange(numof1+2,n):
result.extend([num[(idx+1)%m]]*result[j-1])
idx+=1
else:
for j in xrange(numof1+1,n):
result.extend([num[(idx+1)%m]]*result[j])
idx+=1
return result[0:n]
if __name__=="__main__":
print findKthMax()