文章目录
题目
方法一:DFS(超时)
算法流程:
-
枚举所有圆,对于每个圆,从圆心出发,利用DFS将圆内的格点都保存在集合中
-
利用
Set
去除重复格点,最后返回Set
大小即为出现在 至少一个 圆内的 格点数目
class Solution {
public int countLatticePoints(int[][] circles) {
int n = circles.length;
List<Grid>[] grids = new List[n];
// 1. 枚举圆,统计每个圆内的格点
for (int i = 0; i < n; i++) {
boolean[][] visited = new boolean[201][201];
grids[i] = new ArrayList<>();
dfs(circles[i][0], circles[i][1], circles[i][0], circles[i][1]