leetcode打卡——598. 范围求和 II

题目


OJ平台

题目解析

  • 由于是以 (a,b) 为右下角的顶点与 (0,0) 所形成的矩形,所以每次进行加和的区域实际是可知的,而题目只需要求出最大的加和区域,所以实际上就是求交集,而这题的交集只需要看一个点,所以很简单的就维持一个坐标就行了。

解题代码

cpp

class Solution {
    
    
public:
    int maxCount(int m, int n, vector<vector<int>>& ops) {
    
    
        int mina = m, minb = n;
        for (const auto& op: ops) {
    
    
            mina = min(mina, op[0]);
            minb = min(minb, op[1]);
        }
        return mina * minb;
    }
};

golang

func maxCount(m, n int, ops [][]int) int {
    
    
    mina, minb := m, n
    for _, op := range ops {
    
    
        mina = min(mina, op[0])
        minb = min(minb, op[1])
    }
    return mina * minb
}

func min(a, b int) int {
    
    
    if a > b {
    
    
        return b
    }
    return a
}

猜你喜欢

转载自blog.csdn.net/m0_50945504/article/details/121191943