牛客网刷题笔记之华为真题

我的代码

华为题目
这是华为的题目,题目提示我输出为空

vscode中的结果

在这里插入图片描述
真是急死我了,这是我的代码

import sys 
while True:
    try:
        M_and_N=input()
        M_N=M_and_N.split(" ")#输入M和N
        N=int(M_N[0])#学生的人数N
        M=int(M_N[1])#输入的个数M
        score = input()
        score_list = score.split(" ")#成绩列表
        for index in range(N):#接受N此输入
            score_list[index]=int(score_list[index])#
            last_element=len(score_list)#求出最后一个元素的下标
        store_list = []
        for i in range(M):#输入N次
            order = input()
            order_list = order.split(" ")
            order_name = order_list[0]#命令是Q还是U
            order_first = int(order_list[1])#转化为整形
            order_second = int(order_list[2])
            if order_name == "Q":
                if order_first == order_second:#相等
                    store_list.append(score_list[order_first-1])#第一个的下标到最后
                elif order_second >order_first:#右大于左
                    store_list.append(max(score_list[order_first-1:order_second]))
                else:#or1 =5 or2 = 4
                    store_list.append(max(score_list[order_second-1:order_first]))
                
            if order_name == "U":#把学生a的改成指令要求的
                score_list[order_first-1]=order_second

        for number in store_list:
            print(number)
    except:
        break

救救孩子吧,为什么本地运行就可以,在牛客网上运行就有错呢?
这是别人的正确代码,我这里也贴上来

while True:
    try:
        d0 = list(map(int,input().split()))#map(int,列表=[]),map函数会把int作用于列表中的每一个元素,得到[1,2,3]的整形列表
        d1 = list(map(int,input().split()))
        num = []
        for i in range(d0[1]):
            fun = input().split()
            num0 = int(fun[1])-1
            num1 = int(fun[2])-1
            if fun[0] == "Q":
                if num0 == num1:
                    num.append(d1[num0])
                elif num0 < num1:
                    num.append(max(d1[num0:num1+1]))
                else:
                    num.append(max(d1[num1:num0+1]))
            elif fun[0] == "U":
                d1[num0] = num1+1
        for i in num:
            print(i)
    except:
        break

至今不知道我错在哪,有没有哪位大佬指点一下,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值