2679. 矩阵中的和

两种方法:

第一种:先对二维列表的每一列进行排序,然后对每一列的数据进行逐个比较,找出最大值。

复制代码
class Solution:
    def matrixSum(self, nums: list[list[int]]) -> int:
        result=0
        m=len(nums)
        n=len(nums[0])
        for i in range(m):
            nums[i].sort()
        for j in range(n):
            max_1 = 0
            for i in range(m):
                max_1 = max(max_1,nums[i][j])
            result+=max_1
        return result

nums = Solution()
print(nums.matrixSum([[7,2,1],[6,4,2],[6,5,3],[3,2,1]]))

第二种:先对二维列表每行进行排序,后利用python的内置函数zip进行计算(时间复杂度底)

zip函数详细用法请看菜鸟教程:Python zip() 函数 | 菜鸟教程 (runoob.com)

复制代码
class Solution:
    def matrixSum(self, nums: List[List[int]]) -> int:
        for row in nums:
            row.sort()
        result = 0
        for col in zip(*nums):
            result += max(col)
        return result

nums = Solution()
print(nums.matrixSum([[7,2,1],[6,4,2],[6,5,3],[3,2,1]]))
相关推荐
Jerry3 小时前
LeetCode 189. 轮转数组
算法
Jerry3 小时前
LeetCode 739. 每日温度
算法
2601_954526758 小时前
【工业传感与算法实战】温漂补偿与零点抗漂破局:基于二阶多项式拟合的 C/C++ 边缘校准算法,深度拆解“压力变送器什么牌子好”的技术硬指标
c语言·c++·算法
叩码以求索9 小时前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
谙弆悕博士10 小时前
信息系统项目管理师教程(第4版)笔记——第 2 章 信息技术发展
笔记·职场和发展·软考高级·软考·高项·项目经理
c2385610 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
aaaameliaaa11 小时前
指针之总结
c语言·笔记·算法
宵时待雨12 小时前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz12 小时前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列
gwf21612 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件