LC每日一题|20240531 - 2965. 找出缺失和重复的数字

96 阅读1分钟

LC每日一题|20240531 - 2965. 找出缺失和重复的数字

给你一个下标从 0 开始的二维整数矩阵 grid,大小为 n * n ,其中的值在 [1, n^2] 范围内。除了 a 出现 两次b 缺失 之外,每个整数都 恰好出现一次

任务是找出重复的数字a 和缺失的数字 b

返回一个下标从 0 开始、长度为 2 的整数数组 ans ,其中 ans[0] 等于 aans[1] 等于 b

提示:

  • 2 <= n == grid.length == grid[i].length <= 50
  • 1 <= grid[i][j] <= n * n
  • 对于所有满足1 <= x <= n * nx ,恰好存在一个 x 与矩阵中的任何成员都不相等。
  • 对于所有满足1 <= x <= n * nx ,恰好存在一个 x 与矩阵中的两个成员相等。
  • 除上述的两个之外,对于所有满足1 <= x <= n * nx ,都恰好存在一对 i, j 满足 0 <= i, j <= n - 1grid[i][j] == x

题目等级:Easy

解题思路

Easy题往往都是翻译...这题也不例外...

AC代码

class Solution {
    fun findMissingAndRepeatedValues(grid: Array<IntArray>): IntArray {
        val res = intArrayOf(0, 0)
        val array = BooleanArray(grid.size * grid.size + 1)
        array[0] = true
        for (g in grid) {
            for (n in g) {
                if (array[n]) res[0] = n
                array[n] = true
            }
        }
        res[1] = array.indexOf(false)
        return res
    }
}

碎碎念

图片.png