Problem#
給你一個 mxn
的 matrix 其中每一列的 1
代表士兵、0
代表平民,所有的士兵都會在平民的左邊。
其中,第 i
列如果比第 j
列還弱,代表:
- 第
i
列的士兵比第j
列的士兵數量還少 - 如果士兵數量一樣,則 $i < j$
要你輸出前 k
弱的列有哪些?
測資限制#
- $2 \le n, m \le 100$
- $1 \le k \le m$
想法#
統計每列的士兵數量,接著排序,從小到大輸出 k
個即可。
統計可以是線性 or 二分;排序可以直接 sort 也可以用 priority_queue
- 時間複雜度: $\mathcal{O}(n\log{n})$ (用二分搜)
- 空間複雜度: $\mathcal{O}(n)$