[#3025] feat(numberOfPairs): add golang solution
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
module leetcode-3025
|
||||
|
||||
go 1.18
|
@@ -0,0 +1,70 @@
|
||||
// LeetCode 3025: Find The Number Of Ways To Place People I
|
||||
// 難度: Medium
|
||||
// 日期: 2025-09-02
|
||||
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
// TODO: 實作解法
|
||||
func numberOfPairs(points [][]int) int {
|
||||
n := len(points)
|
||||
count := 0;
|
||||
|
||||
for i:= 0; i < n; i++{
|
||||
for j := 0; j < n; j++{
|
||||
if i == j {
|
||||
continue
|
||||
}
|
||||
|
||||
pointA := points[i]
|
||||
pointB := points[j]
|
||||
|
||||
if pointA[0] <= pointB[0] && pointA[1] >= pointB[1] {
|
||||
hasOtherPoint := false;
|
||||
minX := pointA[0]
|
||||
maxX := pointB[0]
|
||||
minY := pointB[1]
|
||||
maxY := pointA[1]
|
||||
|
||||
for k := 0; k < n; k++{
|
||||
if i == k || j == k{
|
||||
continue
|
||||
}
|
||||
|
||||
pointC := points[k]
|
||||
|
||||
if minX <= pointC[0] && pointC[0] <= maxX && minY <= pointC[1] && pointC[1] <= maxY{
|
||||
hasOtherPoint = true
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if !hasOtherPoint{
|
||||
count++
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
func main() {
|
||||
testCase()
|
||||
}
|
||||
|
||||
// 測試案例模板
|
||||
func testCase() {
|
||||
// Input:
|
||||
points := [][]int{
|
||||
{6, 2},
|
||||
{4, 4},
|
||||
{2, 6},
|
||||
}
|
||||
// Expected:
|
||||
fmt.Printf("Test Case: [[6,2],[4,4],[2,6]]\n")
|
||||
fmt.Printf("Expected: 2\n")
|
||||
// Actual:
|
||||
result := numberOfPairs(points)
|
||||
fmt.Printf("Result: %d\n", result)
|
||||
}
|
Reference in New Issue
Block a user