滴滴笔试0917

刷栅栏写了一大堆只过了18%,哭死
写完都没时间做第一题了
import numpy as np

if __name__ == '__main__':
    temp = input().split()
    n, p, q = int(temp[0]), int(temp[1]), int(temp[2])
    records_shuaqi = []# 刷漆的记录数组
    for i in range(3):
        temp = input().split()
        temp = [int(temp_i) for temp_i in temp]
        records_shuaqi.append(temp)
    records_shuaqi = np.array(records_shuaqi)

    records_shuaqi_reshape = []
    col = records_shuaqi.shape[1]
    for i in range(col):
        arr = [records_shuaqi[0][i], records_shuaqi[1][i], records_shuaqi[2][i]]
        records_shuaqi_reshape.append(arr)

    painted = {}# 字典,用来记录每个栅栏被刷过的漆的类型和次数
    for i in range(col):
        start, end, type = records_shuaqi_reshape[i][0], records_shuaqi_reshape[i][1], records_shuaqi_reshape[i][2]
        for j in range(start, end + 1):# start~end号栅栏
            if str(j) not in painted:
                painted[str(j)] = {}
            if str(type) not in painted[str(j)]:
                painted[str(j)][str(type)] = 1
            else:
                painted[str(j)][str(type)] += 1

    count = 0
    keys = []
    for k in painted.keys():
        keys.append(k)
    index = 0
    for k, v in painted.values():
        if int(k) == 1 and painted[keys[index]]['1'] >= p and int(v) == 2 and painted[keys[index]]['2'] >= q:
            count += 1
        if int(k) == 2 and painted[keys[index]]['2'] >= q and int(v) == 1 and painted[keys[index]]['1'] >= p:
            count += 1
        index += 1

    print(count)


#滴滴笔试#
全部评论
第一题82,第二题27,我都搞不懂第二题为什么会错
2 回复 分享
发布于 2022-09-17 16:44 广东
只会用差分数组,但是内存不够,只能过27
1 回复 分享
发布于 2022-09-17 16:44 广西
T1:100四个if else;T2:82,记录min,max,定义一个max-min长度的二维数组nums,第一维表示刷1的次数,第二维表示刷2的次数,遍历begin-end,nums[begin-min][t]++
1 回复 分享
发布于 2022-09-17 23:33 四川
第一题73% 第二题18%
点赞 回复 分享
发布于 2022-09-17 16:43 河北
我也。。就是超时,我自己试了几个比较的数据都正确数据量太大了,不知道咋优化
点赞 回复 分享
发布于 2022-09-17 16:44 陕西
第二题线段树A了82
点赞 回复 分享
发布于 2022-09-17 16:45 上海
第二题会爆内存....我试了下1000000000的数组,直接oom,我想不出来要怎么做
点赞 回复 分享
发布于 2022-09-17 16:45 四川
扫描线oom,把N设小一点能过81
点赞 回复 分享
发布于 2022-09-17 16:45 江苏
t1 73%,不道为啥 t2 82%,用的差分,10亿的时候报oom
点赞 回复 分享
发布于 2022-09-17 16:48 广东
第二题3就能骗18
点赞 回复 分享
发布于 2022-09-17 18:48 上海

相关推荐

01-24 12:50
门头沟学院 C++
投票
菜狗二号:还有啥想的 指定国有行啊,去了就开始幸福美满的生活了,选华子不是折腾自己么,最终财富积累度是差不多的,但是幸福指数是相差甚远的
点赞 评论 收藏
分享
01-21 12:26
暨南大学 golang
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务