LeetCode-1337. 矩阵中战斗力最弱的 K 行

给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。

请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。

如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。

军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。

执行用时:
24 ms, 在所有 Python3 提交中击败了100.00%的用户
内存消耗:
15 MB, 在所有 Python3 提交中击败了76.72%的用户
class Solution:
    def kWeakestRows(self, mat: List[List[int]], k: int) -> List[int]:
        num = {}
        l = []
        for i, j in enumerate(mat):
            num[i] = j.count(1)
        num = sorted(num.items(), key=lambda x: x[1])
        for i in range(k):
            l.append(num[i][0])
        return l

sorted相关排序知识可查看该文章

posted @ 2021-08-01 09:50  小Aer  阅读(8)  评论(0)    收藏  举报  来源