LC每日一题|20240531 - 2965. 找出缺失和重复的数字
给你一个下标从 0 开始的二维整数矩阵
grid,大小为n * n,其中的值在[1, n^2]范围内。除了a出现 两次,b缺失 之外,每个整数都 恰好出现一次 。任务是找出重复的数字
a和缺失的数字b。返回一个下标从 0 开始、长度为
2的整数数组ans,其中ans[0]等于a,ans[1]等于b。
提示:
2 <= n == grid.length == grid[i].length <= 501 <= grid[i][j] <= n * n- 对于所有满足
1 <= x <= n * n的x,恰好存在一个x与矩阵中的任何成员都不相等。 - 对于所有满足
1 <= x <= n * n的x,恰好存在一个x与矩阵中的两个成员相等。 - 除上述的两个之外,对于所有满足
1 <= x <= n * n的x,都恰好存在一对i, j满足0 <= i, j <= n - 1且grid[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
}
}