拼多多 0811 笔试
4道编程题,依旧是最后一道看到没看
第一道100%,哎嘛想到暑期实习的笔试惨痛经历,今天看到100%那一瞬间真的是 太高兴了哈哈,感觉自己有在成长
第二道36% 题目大概是,小明做作业,耗时=完成时间+等待时间,求总耗时最小
每个作业有布置时间ti和需要时间wi
我的思路是,用一个优先级队列pq保存当前时间节点之前未完成作业的剩余时间
每次循环都把当前作业的时间加到pq中,弹出一个剩余时间tt(即当前最小剩余时间)
判断当前时间和下一次作业的时间间隔gap,用tt和gap比较,时间大概是+=size*gap,循环弹出
最后答案错误,自己找不到错误,最后提前交卷了
第三道60% 题目大概是,花田里有0和1两种植物,做个操作使某个区间内所有0和1变成1和0,最多可以操作1次
有个指标是0和1各自的数量之差的绝对值,求不同的操作后该指标所有可能的数量
思路大概是,先计算初始指标值a-b,然后是两次for循环,第2次设置j的区间为[i, n)
对于每个j,看nums[j]是0还是1,是0就(a+1)-(b-1) = (a-b) +2 ,所以记录score+2放到set中
是1就(a-1)-(b+1) = (a-b) -2 ,所以记录score-2放到set中
最后输出set.size()
最后报错是复杂度的问题,其实第一反应应该用动态规划做,但是感觉会浪费好多时间调试,索性先拿分再说吧
第一道100%,哎嘛想到暑期实习的笔试惨痛经历,今天看到100%那一瞬间真的是 太高兴了哈哈,感觉自己有在成长
第二道36% 题目大概是,小明做作业,耗时=完成时间+等待时间,求总耗时最小
每个作业有布置时间ti和需要时间wi
我的思路是,用一个优先级队列pq保存当前时间节点之前未完成作业的剩余时间
每次循环都把当前作业的时间加到pq中,弹出一个剩余时间tt(即当前最小剩余时间)
判断当前时间和下一次作业的时间间隔gap,用tt和gap比较,时间大概是+=size*gap,循环弹出
最后答案错误,自己找不到错误,最后提前交卷了
第三道60% 题目大概是,花田里有0和1两种植物,做个操作使某个区间内所有0和1变成1和0,最多可以操作1次
有个指标是0和1各自的数量之差的绝对值,求不同的操作后该指标所有可能的数量
思路大概是,先计算初始指标值a-b,然后是两次for循环,第2次设置j的区间为[i, n)
对于每个j,看nums[j]是0还是1,是0就(a+1)-(b-1) = (a-b) +2 ,所以记录score+2放到set中
是1就(a-1)-(b+1) = (a-b) -2 ,所以记录score-2放到set中
最后输出set.size()
最后报错是复杂度的问题,其实第一反应应该用动态规划做,但是感觉会浪费好多时间调试,索性先拿分再说吧
全部评论
佬,第二题怎么写的,我用例能过,提交一直卡0😢
我第一题不知道为什么,一直百分之九十六,佬,有什么坑点嘛
第一题怎么做的哇~一直0.24
第二题可能是int类型越界的问题,我把时间从int类型改成long通过100%了
这几道题和我的一模一样,这种程度能进面吗
请问是双机位吗
相关推荐
10-25 09:58
中国科学技术大学 算法工程师 点赞 评论 收藏
分享