CCF202012-2期末预测之最佳阈值(PYTHON版)

在这里插入图片描述

解题代码(70分)

n = int(input())
pre = []
rea = []
maxi = -10000 #表示正确率
maxy = -10    #表示阈值
for i in range(n):
    m,y = map(int,input().split())
    pre.append(m)
    rea.append(y)
for i in range(n):
    s = 0
    for j in range(n):
        if pre[j] < pre[i]:
            m = 0
        else:
            m = 1
        if m == rea[j]:
            s+=1
    if s > maxi :
        maxi,maxy = s,pre[i]
    elif s == maxi:
        if pre[i] > maxy:
            maxy = pre[i]
print(maxy)
    

解题思路:

本题主要考查的是对阈值的分析,输入的 yi,resulti,表示第i个同学的阈值。
样例输入1

6
0 0
1 0
1 1
3 1
5 1
7 1

0 0:表示第一个同学的阈值为0,实际值为0;我们根据
在这里插入图片描述
这个公式,0>=0则为1,但是它的真实值为0,则判断错误
第二位同学1>0,则值为1,但真实值为0 ,判断错误
第三位同学 1>0,值为1,真实值为1,判断正确
以此类推,第四位,五位,六位同学判断都是正确的正确次数为4

错误分析

本题错误在于运行时间过长,主要是因为采用嵌套的for循环,在数据较多时,运算量过大导致超过运行时间,大家在做题的时候可以把我这个错误当作案例,尽量不要写太多嵌套的循环,会加大计算量。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值