矩形区域不超过 K 的最大数值和

困难题哦!

给你一个 m x n 的矩阵 matrix 和一个整数 k ,找出并返回矩阵内部矩形区域的不超过 k 的最大数值和。
题目数据保证总会存在一个数值和不超过 k 的矩形区域。

困难题主要还是学习为主哈

class Solution:
    def maxSumSubmatrix(self, matrix: List[List[int]], k: int) -> int:
        import bisect
        row, col = len(matrix), len(matrix[0])
        res = float("-inf")
        for left in range(col):
            r_sum = [0] * row
            for right in range(left, col):
                for j in range(row):
                    r_sum[j] += matrix[j][right]
                arr = [0]
                curr = 0
                for tem in r_sum:
                    curr += tem
                    loc = bisect.bisect_left(arr, curr-k)
                    if loc<len(arr):
                        res = max(res, curr-arr[loc])
                    bisect.insort(arr, curr)
        return res

看了几个小时还是有一个地方不是很懂

做题最痛苦的事不是一看题就没有思路,也不是有了思路写不出来,而是看了众多解答却发现一个都看不懂。。。

已经自闭了,我是不是不适合这一行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值