LC每日一题|20240427 - 2639. 查询网格图中每一列的宽度

2 阅读1分钟

LC每日一题|20240427 - 2639. 查询网格图中每一列的宽度

给你一个下标从 0 开始的 m x n 整数矩阵 grid 。矩阵中某一列的宽度是这一列数字的最大 字符串长度 。

  • 比方说,如果 grid = [[-10], [3], [12]] ,那么唯一一列的宽度是 3 ,因为 -10 的字符串长度为 3 。

请你返回一个大小为 n 的整数数组 ans ,其中 ans[i] 是第 i 列的宽度。

一个有 len 个数位的整数 x ,如果是非负数,那么 字符串 长度 为 len ,否则为 len + 1 。

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 100
  • -10^9 <= grid[r][c] <= 10^9

题目级别:Easy

解题思路

纯翻译题,没什么用说的吧~

AC代码

class Solution {
    fun findColumnWidth(grid: Array<IntArray>): IntArray {
        val res = IntArray(grid[0].size)
        for (i in grid[0].indices) {
            var max = 0
            for (j in grid.indices) {
                max = Math.max(max, grid[j][i].toString().length)
            }
            res[i] = max
        }
        return res
    }
}

时间复杂度:O(m*n),需要遍历一次整个二维数组。

空间复杂度:O(1),除返回值以外仅需要常数个变量。