python招聘笔试题_搜狐笔试第一题Python版(附原题图)

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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值