From 83e5b19a5efa6dc960500aeb321893deb684cd86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Velimir=20=C4=90urkovi=C4=87?= Date: Fri, 14 Feb 2025 21:44:02 +0100 Subject: [PATCH] feat: add solution to lc problem: No.0033 --- .../README.md | 28 +++++++++++++++++++ .../README_EN.md | 28 +++++++++++++++++++ .../Solution.cs | 23 +++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 solution/0000-0099/0033.Search in Rotated Sorted Array/Solution.cs diff --git a/solution/0000-0099/0033.Search in Rotated Sorted Array/README.md b/solution/0000-0099/0033.Search in Rotated Sorted Array/README.md index 77320242b4963..d84ddc3e91a90 100644 --- a/solution/0000-0099/0033.Search in Rotated Sorted Array/README.md +++ b/solution/0000-0099/0033.Search in Rotated Sorted Array/README.md @@ -281,6 +281,34 @@ var search = function (nums, target) { }; ``` +#### C# + +```cs +public class Solution { + public int Search(int[] nums, int target) { + int n = nums.Length; + int left = 0, right = n - 1; + while (left < right) { + int mid = (left + right) >> 1; + if (nums[0] <= nums[mid]) { + if (nums[0] <= target && target <= nums[mid]) { + right = mid; + } else { + left = mid + 1; + } + } else { + if (nums[mid] < target && target <= nums[n - 1]) { + left = mid + 1; + } else { + right = mid; + } + } + } + return nums[left] == target ? left : -1; + } +} +``` + #### PHP ```php diff --git a/solution/0000-0099/0033.Search in Rotated Sorted Array/README_EN.md b/solution/0000-0099/0033.Search in Rotated Sorted Array/README_EN.md index 0826fedd5b185..871221d1251a8 100644 --- a/solution/0000-0099/0033.Search in Rotated Sorted Array/README_EN.md +++ b/solution/0000-0099/0033.Search in Rotated Sorted Array/README_EN.md @@ -269,6 +269,34 @@ var search = function (nums, target) { }; ``` +#### C# + +```cs +public class Solution { + public int Search(int[] nums, int target) { + int n = nums.Length; + int left = 0, right = n - 1; + while (left < right) { + int mid = (left + right) >> 1; + if (nums[0] <= nums[mid]) { + if (nums[0] <= target && target <= nums[mid]) { + right = mid; + } else { + left = mid + 1; + } + } else { + if (nums[mid] < target && target <= nums[n - 1]) { + left = mid + 1; + } else { + right = mid; + } + } + } + return nums[left] == target ? left : -1; + } +} +``` + #### PHP ```php diff --git a/solution/0000-0099/0033.Search in Rotated Sorted Array/Solution.cs b/solution/0000-0099/0033.Search in Rotated Sorted Array/Solution.cs new file mode 100644 index 0000000000000..94ec080d4a5a9 --- /dev/null +++ b/solution/0000-0099/0033.Search in Rotated Sorted Array/Solution.cs @@ -0,0 +1,23 @@ +public class Solution { + public int Search(int[] nums, int target) { + int n = nums.Length; + int left = 0, right = n - 1; + while (left < right) { + int mid = (left + right) >> 1; + if (nums[0] <= nums[mid]) { + if (nums[0] <= target && target <= nums[mid]) { + right = mid; + } else { + left = mid + 1; + } + } else { + if (nums[mid] < target && target <= nums[n - 1]) { + left = mid + 1; + } else { + right = mid; + } + } + } + return nums[left] == target ? left : -1; + } +} \ No newline at end of file