LeetCode·每日一题·2679. 矩阵中的和·排序

作者:小迅
链接:https://leetcode.cn/problems/sum-in-a-matrix/solutions/2330084/pai-xu-zhu-shi-chao-ji-xiang-xi-by-xun-g-a3gw/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

题目

示例

思路

题意 -> 给定一个二维数组,每次取每一行的最大值构成一列,在该列中取最大值组成分数数组,返回分数数组的最大值和

题目已经说的非常清楚了,直接将二维数组的每一行按升序或者降序排列,然后枚举每一列的最大值进行累和,返回即可。

代码注释超级详细

代码


static int cmp(const void *a, const void *b) {
    return *(int *)a - *(int *)b;
}//排序

int matrixSum(int** nums, int numsSize, int* numsColSize) {
     int res = 0;
    int m = numsSize;
    int n = numsColSize[0];//初始化
    for (int i = 0; i < m; i++) {//排序每一行
        qsort(nums[i], n, sizeof(int), cmp);
    }
    for (int j = 0; j < n; j++) {//枚举每一列
        int maxVal = 0;
        for (int i = 0; i < m; i++) {//取当前列中的最大值
            maxVal = fmax(maxVal, nums[i][j]);
        }
        res += maxVal;//累和
    }
    return res;
}



作者:小迅
链接:https://leetcode.cn/problems/sum-in-a-matrix/solutions/2330084/pai-xu-zhu-shi-chao-ji-xiang-xi-by-xun-g-a3gw/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/m0_64560763/article/details/131532604