题目链接:
力扣https://leetcode-cn.com/problems/count-artifacts-that-can-be-extracted/
【分析】直接用一个二维数组记录哪些单元格被清除,然后按个零件判定即可。
class Solution {
public int digArtifacts(int n, int[][] artifacts, int[][] dig) {
int[][] map = new int[n + 1][n + 1];
for(int[] d: dig){
map[d[0]][d[1]] = 1;
}
int x1, y1, x2, y2;
int ans = 0, i, j, flag = 0;
for(int[] at: artifacts){
flag = 0;
x1 = at[0]; y1 = at[1]; x2 = at[2]; y2 = at[3];
for(i = x1; i <= x2; i++){
for(j = y1; j <= y2; j++){
if(map[i][j] == 0){
flag = 1;
break;
}
}
}
if(flag == 0) ans++;
}
return ans;
}
}