zoukankan      html  css  js  c++  java
  • LeetCode-C#实现-二分查找(#162/704)

    162. Find Peak Element

    山脉数组的峰顶索引

    public class Solution {
        public int FindPeakElement(int[] nums) {
            int low=0,mid=0,high=nums.Length-1;
            while(low<high){
                mid=(low+high)/2;
                if(nums[mid]>nums[mid+1])high=mid;
                else low=mid+1;
            }
            return low;
        }
    }

     

    704. Binary Search

    二分查找

    public class Solution {
        public int Search(int[] nums, int target) {
            int low=0,mid=0,high=nums.Length-1;
            while(low<high){
                mid=low+(high-low)/2;//防溢出
                //不判断相等,使low,mid,high不断向target的索引靠近
                if(nums[mid]<target) low=mid+1;
                else high=mid;
            }
            //若存在返回三者任一皆可,否则返回-1
            return nums[low]==target?low:-1;
        }
    }

     

  • 相关阅读:
    网站
    世上本无事,庸人自扰之
    mac系招聘BBS
    新浪微博语录帝摘录
    dwz jui
    cheap vps
    facebook的开发标准
    rails的一些插件
    租房宝
    在Z10上用3G
  • 原文地址:https://www.cnblogs.com/errornull/p/10095746.html
Copyright © 2011-2022 走看看