[C#] 二分搜寻框架解法

Example 1:
Input: nums = [-1,0,3,5,9,12], target = 9
Output: 4
Explanation: 9 exists in nums and its index is 4
Example 2:

Input: nums = [-1,0,3,5,9,12], target = 2
Output: -1
Explanation: 2 does not exist in nums so return -1

下面为 Example 1 解法

       static void Main(string[] args)       {           BinarySearch();       }       private static void BinarySearch()       {           var nums = new int[] { -1, 0, 3, 5, 9, 12 };           int target = 9;           var result = BinarySearch(nums, target);           Console.WriteLine($"目标索引:{result}");           Console.ReadKey();       }       /// <summary>       /// 二分收询       /// </summary>       /// <param name="nums">数组</param>       /// <param name="target">目标值</param>       /// <exception cref="NotImplementedException"></exception>       private static int BinarySearch(int[] nums, int target)       {           int left = 0;           int right = nums.Length - 1;           while (left <= right)           {               int mid = (right + left) / 2;               if (nums[mid] == target)               {                   return mid;               }               else if (nums[mid] < target)               {                   left = mid + 1;               }               else               {                   right = mid - 1;               }           }           return -1;       }

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章