算法-二分搜索-找出最大值和最小值
生活随笔
收集整理的這篇文章主要介紹了
算法-二分搜索-找出最大值和最小值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
二分搜索問題
找出最大值和最小值 時間復雜度O(n)
using System; using System.Collections.Generic;namespace dataLearn {class Program{static void Main(string[] args){List<int> list = new List<int> { 10, 3, 6, 4, 7, 1, 9, 2 };var v = get(list, 0, list.Count - 1);Console.Out.Write(v.Item1+" - "+v.Item2);}static (int, int) get(List<int> list, int start, int end){if (start < end){int middle = (start + end) / 2;var left = get(list, start, middle);var right = get(list, middle + 1, end);return (left.Item1 > right.Item1 ? right.Item1 : left.Item1, left.Item2 > right.Item2 ? left.Item2 : right.Item2);}elsereturn (list[start], list[start]);}} }總結
以上是生活随笔為你收集整理的算法-二分搜索-找出最大值和最小值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法-找出最近点对问题
- 下一篇: 硬盘恢复数据一次还可以恢复第二次吗硬盘恢