diff --git a/problems/3516-find-closest-person/csharp/Program.cs b/problems/3516-find-closest-person/csharp/Program.cs new file mode 100644 index 0000000..bb71b41 --- /dev/null +++ b/problems/3516-find-closest-person/csharp/Program.cs @@ -0,0 +1,60 @@ +// LeetCode 3516: Find Closest Person +// 難度: Easy +// 日期: 2025-09-04 + +using System; +using System.Collections.Generic; +using System.Linq; + +public class Solution { + public int FindClosest(int x, int y, int z) + { + var distanceX = Math.Abs(x - z); + var distanceY = Math.Abs(y - z); + + return distanceX == distanceY ? 0 : distanceX > distanceY ? 2 : 1; + } +} + +// 測試程式 +public class Program +{ + public static void Main() + { + TestCase1(); + TestCase2(); + TestCase3(); + } + + // 基本測試案例 - Example 1 + static void TestCase1() + { + var solution = new Solution(); + // Input: x = 2, y = 7, z = 4 + // Expected: 1 (Person 1 距離較近: |2-4| = 2 < |7-4| = 3) + var actual = solution.FindClosest(2, 7, 4); + var expected = 1; + Console.WriteLine($"Test 1: Input(2, 7, 4) Expected: {expected}, Actual: {actual}, Result: {(actual == expected ? "PASS" : "FAIL")}"); + } + + // 基本測試案例 - Example 2 + static void TestCase2() + { + var solution = new Solution(); + // Input: x = 2, y = 5, z = 6 + // Expected: 2 (Person 2 距離較近: |5-6| = 1 < |2-6| = 4) + var actual = solution.FindClosest(2, 5, 6); + var expected = 2; + Console.WriteLine($"Test 2: Input(2, 5, 6) Expected: {expected}, Actual: {actual}, Result: {(actual == expected ? "PASS" : "FAIL")}"); + } + + // 基本測試案例 - Example 3 + static void TestCase3() { + var solution = new Solution(); + // Input: x = 1, y = 5, z = 3 + // Expected: 0 (距離相等: |1-3| = 2 = |5-3| = 2) + var actual = solution.FindClosest(1, 5, 3); + var expected = 0; + Console.WriteLine($"Test 3: Input(1, 5, 3) Expected: {expected}, Actual: {actual}, Result: {(actual == expected ? "PASS" : "FAIL")}"); + } +} diff --git a/problems/3516-find-closest-person/csharp/csharp.csproj b/problems/3516-find-closest-person/csharp/csharp.csproj new file mode 100644 index 0000000..2150e37 --- /dev/null +++ b/problems/3516-find-closest-person/csharp/csharp.csproj @@ -0,0 +1,10 @@ + + + + Exe + net8.0 + enable + enable + + +