处理二进制数组查询操作的 C++ 代码
2022-04-16
评论 0
浏览112
假设我们有一个包含n个元素的数组A和另一个包含q个查询的查询列表Q。每个Query[i]包含一对(x,k)。当我们处理查询时,对于x:将A[x]的值减1。对于k,打印第k个最大元素。最初,A中的所有元素要么为0,要么为1。所以,如果输入像A=[1,1,0,1,0];Q=[[2,3],[1,2],[2,3],[2,1],[2,5]],则输出为[1,1,1,0]脚步为了解决这个问题,我们将遵循以下步骤-n := size of Am := 0for initialize i := 0, when i < n, update (increase i by 1), do: if A[i] is n