원 내부의 격자 점 계산
circles
가 그리드에 그려진 circles[i] = [xi, yi, ri]
원의 중심(xi, yi)
과 반경ri
을 나타내는 2D 정수 배열ith
이 주어지면 적어도 하나의 원 안에 있는 격자 점의 수를 반환합니다.메모:
예 1:
입력: 원 = [[2,2,1]]
출력: 5
설명:
위의 그림은 주어진 원을 보여줍니다.
원 내부에 존재하는 격자점은 (1, 2), (2, 1), (2, 2), (2, 3) 및 (3, 2)이며 녹색으로 표시됩니다.
빨간색으로 표시된 (1, 1) 및 (1, 3)과 같은 다른 점은 원 내부로 간주되지 않습니다.
따라서 적어도 하나의 원 안에 존재하는 격자점의 수는 5입니다.
예 2:
입력: 원 = [[2,2,2],[3,4,1]]
출력: 16
설명:
위의 그림은 주어진 원을 보여줍니다.
적어도 하나의 원 안에 존재하는 정확히 16개의 격자점이 있습니다.
그들 중 일부는 (0, 2), (2, 0), (2, 4), (3, 2) 및 (4, 4)입니다.
제약:
1 <= circles.length <= 200
circles[i].length == 3
1 <= xi, yi <= 100
1 <= ri <= min(xi, yi)
해결책:
class Solution:
def countLatticePoints(self, circles: List[List[int]]) -> int:
points = set()
for x, y, r in circles:
for i in range(x - r, x + r + 1):
for j in range(y - r, y + r + 1):
if (i - x) * (i - x) + (j - y) * (j - y) <= r * r:
points.add((i, j))
return len(points)
Reference
이 문제에 관하여(원 내부의 격자 점 계산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theabbie/count-lattice-points-inside-a-circle-2g21텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)