第二题超时是因为你每次询问都要找最大值,这个操作是O(n).
你可以用链表按顺序从大到小跟踪所有片段的大小,.每次你新进行一个分割,只需要将原节点替换为两个新节点,然后让这两个节点往后转移,直到满足降序就可以. 跟堆排的思想比较像
然后询问就变成O(1)了
你可以用链表按顺序从大到小跟踪所有片段的大小,.每次你新进行一个分割,只需要将原节点替换为两个新节点,然后让这两个节点往后转移,直到满足降序就可以. 跟堆排的思想比较像
然后询问就变成O(1)了
点赞 1 评论 8
全部评论
相关推荐
程序员小白条:还是那句话,实习不懂就问,饭搭子这玩意看人的,实习生要是就一个,那你咋整,有些东西非必要,实习主要看自己适应能力,否则正式了,你更适应不过来,毕竟上班和上学可不一样
点赞 评论 收藏
分享
05-14 15:17
青岛滨海学院 Java 点赞 评论 收藏
分享

点赞 评论 收藏
分享