摘要: 思路: 还是前缀异或,只是这次变成了二维。 求第n大的数,我想的直接用小顶堆,限制它元素个数为k,那么最终留下来的就是最大的k个数,堆顶就是第k大的数了。 如果堆没有满就加进堆里,如果满了就判断要加入的元素是否大于堆顶,大于就pop再push. 也可以排序再取第k+1个元素,也可以用快速选择算法来找 阅读全文
posted @ 2021-05-19 20:16 Mrsdwang 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 思路: 类似的题做过了,一个优化算法就是(s0s1s2...si-1)(s0s1s2....si-1....sn)=(si...sn). 因此我们就能计算出前缀异或的结果从而将暴力算法O(n4)优化成O(n^3) 代码: class Solution { public: int countTripl 阅读全文
posted @ 2021-05-19 17:22 Mrsdwang 阅读(35) 评论(0) 推荐(0) 编辑