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)$