网易的笔试题1

题目

小易在维护数据的时候遇到一个需求,具体来说小易有一系列数据,这些数据了构成一个长度为n的数字序列,接下来小易会在这个序列上进行q次操作。
每次操作有一个查询的数字x,小易需要将序列数据中所有大于等于x的数字都减一,并输出在本次操作中有多少个数字被减一了。

解答

c = input('数字个数和操作次数:')
d = c.split(' ')
n,q = int(d[0]),int(d[1])

a = input('请输入初始数:')
b = a.split(' ', n)
list1 = []
for i in b:
    list1.append(int(i))

list2 = []
while q:
    x = int(input('指定数字:'))
    list2.append(x)
    q -= 1
    
for k in list2:
    list3 = []
    count = 0
    for j in list1:
        if j >= k:
            list3.append(j-1)
            count += 1
        else:
            list3.append(j)
    list1 = list3.copy()
    print('有' + str(count) + '个数字被减一。')      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值