9.21华为笔试

# 第一道题感觉没错,但就过了10%,不知道哪里错了,求大佬帮我看看
def func():
    N = int(input())
    records = list(map(int, input().split(' ')))
    total = int(input())
    records.sort()
    idx = -1
    remainder = total
    for i in range(N):
        if (N-i)*records[i] <= remainder:
            remainder -= records[i]
        else:
            idx = i
            break
    if idx==-1:
        print(-1)
    else:
        print(int(remainder/(N-idx)))
    
if __name__ == "__main__":
    func()

#华为笔试#
全部评论
10%是因为他的输入中间不止一个空格,得把所有空格都去掉。。
5 回复 分享
发布于 2022-09-21 21:16 河北
python输入要这样,list(map(int, input().strip().split(' ')))。加个strip就行了。前几天测出来的坑
4 回复 分享
发布于 2022-09-22 10:05 北京
我用Python暴力30,后来55,就是过不了
2 回复 分享
发布于 2022-09-21 21:13 湖北
-1就是10
1 回复 分享
发布于 2022-09-21 21:10 广东
第一题不是最基础的二分吗
1 回复 分享
发布于 2022-09-21 21:14 北京
你看错题了吧,咋能limit乘n呢?
1 回复 分享
发布于 2022-09-21 21:16 北京
请问题目是什么?
1 回复 分享
发布于 2022-09-21 21:33 美国
感觉可以二分?
1 回复 分享
发布于 2022-09-21 22:50 广东
求三道题原题
1 回复 分享
发布于 2022-09-22 00:48 河南
我java一开始也一直不过卡10%。 后来我c++暴力才过
点赞 回复 分享
发布于 2022-09-21 21:10 北京
华为能直接输出骗分吗
点赞 回复 分享
发布于 2022-09-21 21:12 北京
直接暴击过90%
点赞 回复 分享
发布于 2022-09-21 21:14 山东
第一道题用了二分法,45%。给我整蒙了
点赞 回复 分享
发布于 2022-09-21 21:16 北京
本来用string[] s = sc.nextLine().split(" ") 读取一行数据,然后赋给record[i],后来改成record[i] = sc.nextLong()就过了
点赞 回复 分享
发布于 2022-09-21 21:46 北京
一开始用js只过10,不知道咋回事,代码检查了半天也没发现什么问题,就是简单的二分,搞了好久,后面试了一下c++就过了,原来是tm多个空格,真的太恶心了
点赞 回复 分享
发布于 2022-09-21 21:46 天津
Int溢出了,要用long
点赞 回复 分享
发布于 2022-09-22 15:40 广东
大佬,可以讲下思路吗,感觉可以理解,但当时就想不到这种方法,暴力又不能全过
点赞 回复 分享
发布于 2022-09-23 15:16 北京

相关推荐

oppo 应用软开 22*15+0.5*12
拿到了ssp完美:真的坎坷,但是你至少拿到这么多offer了!
点赞 评论 收藏
分享
10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
评论
4
19
分享
牛客网
牛客企业服务