[#3027] feat(numberOfPairs): add C# solution
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
// LeetCode 3027: Find The Number Of Ways To Place People Ii
|
||||
// 難度: Hard
|
||||
// 日期: 2025-09-03
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
public class Solution {
|
||||
public int NumberOfPairs(int[][] points)
|
||||
{
|
||||
int n = points.Length;
|
||||
int result = 0;
|
||||
|
||||
for (var i = 0; i < n; i++)
|
||||
{
|
||||
for (var j = 0; j < n; j++)
|
||||
{
|
||||
if (i == j) continue;
|
||||
|
||||
// 判斷 Alice points[i] 是否在 Bob points[j] 左上角
|
||||
var Alice = points[i];
|
||||
var Bob = points[j];
|
||||
if (Alice[0] <= Bob[0] && Alice[1] >= Bob[1])
|
||||
{
|
||||
// get border
|
||||
int minX = Alice[0];
|
||||
int maxX = Bob[0];
|
||||
int minY = Bob[1];
|
||||
int maxY = Alice[1];
|
||||
bool isAnyPerson = false;
|
||||
|
||||
for (var k = 0; k < n; k++)
|
||||
{
|
||||
if (i == k || j == k) continue;
|
||||
|
||||
var person = points[k];
|
||||
if (minX <= person[0] && person[0] <= maxX && minY <= person[1] && person[1] <= maxY)
|
||||
{
|
||||
isAnyPerson = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isAnyPerson) result++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public class Program {
|
||||
public static void Main() {
|
||||
Solution solution = new Solution();
|
||||
|
||||
// 測試案例
|
||||
TestCase(solution);
|
||||
}
|
||||
|
||||
static void TestCase(Solution solution) {
|
||||
// Input:
|
||||
int[][] points = new int[][] {
|
||||
new int[] {6, 2},
|
||||
new int[] {4, 4},
|
||||
new int[] {2, 6}
|
||||
};
|
||||
// Expected:
|
||||
Console.WriteLine($"Test Case: [[6,2],[4,4],[2,6]]");
|
||||
Console.WriteLine($"Expected: 2");
|
||||
|
||||
// Actual:
|
||||
int result1 = solution.NumberOfPairs(points);
|
||||
Console.WriteLine($"Result: {result1}");
|
||||
}
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
Reference in New Issue
Block a user