欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

LeetCodeAlgorithm1337.矩阵中战斗力最弱的K行

时间:2023-04-28

1337、矩阵中战斗力最弱的 K 行

Ideas

Top K 问题一般都是通过堆来解决,这道题要求的是最弱的 K 行,说明这是一个小根堆问题。

题目中是根据军人的数量来衡量战斗力的,而军人的数量其实就是当前行的列表求和,所以我们可以将(当前行列表求和,行索引)构造一个小根堆,然后输出 Top K 就ok啦。

Code Python

import heapqfrom typing import Listclass Solution: def kWeakestRows(self, mat: List[List[int]], k: int) -> List[int]: power = [(sum(val), idx) for idx, val in enumerate(mat)] heapq.heapify(power) return [heapq.heappop(power)[1] for _ in range(k)]

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。