阿里笔试0804 跪求!求问各位大佬 这为啥是0ac

第一题做到这里0ac 心态崩了 怎么也该有个10%吧 二分没有心情写了 孩子没了

n, m = map(int, input().split())
person = list(map(int, input().split()))
house = []
for i in range(m):
    house.append(list(map(int, input().split())))
person = sorted(person,reverse = True)
house = sorted(house, key = lambda x:x[0], reverse = True)
ans = []
visited = []
for i in range(n):
    conf = float('-inf')
    idx = -1
    for j in range(m):
        if person[i]>=house[j][1] and house[j][0]>=conf and j not in visited:
            conf = house[j][0]
            idx = j
            break
    if idx!=-1:
        visited.append(idx)
        ans.append(conf)
if ans == []:
    print(0)
else:
    print(sum(ans))

            
            

#笔试题目##阿里巴巴#
全部评论
我也挂了,第二题我想到了一个方法。把字符串分成只含有a/c/e和只含有b/d/f的两个字符串。既然一定要a<c<e;b<d<f;那么是不是可以看成分别求出这两个字符串的“最长的增序列”呢?然后输出两个最长增序列的长度之和即可
2 回复 分享
发布于 2020-08-03 20:41
好吧 求解了一下大佬 复杂度过高 用二分能降点 题目确实也说了都是大数
点赞 回复 分享
发布于 2020-08-03 20:16
我用优先队列过的
点赞 回复 分享
发布于 2020-08-03 20:17
我把题解写了,感兴趣的同学可以互相交流一下  https://www.nowcoder.com/discuss/466066?source_id=profile_create&channel=666
点赞 回复 分享
发布于 2020-08-03 21:03

相关推荐

大耳朵屠屠:nb了,他怎么不说自己能联系阎罗王改生死簿,给学生减寿三年??
点赞 评论 收藏
分享
点赞 评论 收藏
分享
09-24 18:19
已编辑
天津大学 Java
每次看到那些竞争激烈的岗位,我就觉得自己卷不动了。和我一样感到辛苦的人不少,大家都在说退出秋招。我也想放弃了,实在是撑不住了。
起一个响亮的名字吧____:天大爷不要放弃,我八月中旬开始投递的,到九月上旬都一直没有面试,我也一度觉得9本学历没有用😭但是这两周也开始陆陆续续约面了,也面了一些中厂。虽然腾讯阿里都是简历挂,虽然被字节面试官拷打嘲讽,但是我相信秋招只要一直积极准备总会有收获的,祝你我都拿到属于自己的最好的offer!😸
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务