滴滴 9.13笔试第二题
思路是按照名次先排序好,然后设置一个
boolean[]used数组,代表某个名次是不是已经有歌曲了。对于所有是op是0的歌曲,used对应的位置为true,接下来遍历排序好的歌曲数组,如果op=1,就向后找到第一个used为false的位置,将那个位置的used变成true;同理,对于op=-1就向前找第一个used=false的位置。如果存在没有找到的情况就不存在。过了0.18,想不通为什么错,过了的大佬可以给个反例吗。
boolean[]used数组,代表某个名次是不是已经有歌曲了。对于所有是op是0的歌曲,used对应的位置为true,接下来遍历排序好的歌曲数组,如果op=1,就向后找到第一个used为false的位置,将那个位置的used变成true;同理,对于op=-1就向前找第一个used=false的位置。如果存在没有找到的情况就不存在。过了0.18,想不通为什么错,过了的大佬可以给个反例吗。
全部评论
这个题回溯做吧得 因为存在 1 0 -1-1 的情况 你得考虑-1 和-1 也能换 😲 反正我写了回溯超时了
不用一一对应的,你想想按顺序两个-1一个1是不是也能满足,移动两次就行了
相关推荐
点赞 评论 收藏
分享
2025-11-18 18:24
北京理工大学珠海学院 嵌入式软件工程师
秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态 点赞 评论 收藏
分享
帮你内推|字节跳动 实习 点赞 评论 收藏
分享
