滴滴 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一个1是不是也能满足,移动两次就行了
这个题回溯做吧得 因为存在 1 0 -1-1 的情况 你得考虑-1 和-1 也能换 😲 反正我写了回溯超时了
相关推荐
点赞 评论 收藏
分享