wordpress手机分享插件下载东莞关键词优化软件
今天看二分法看了一天,看吐了,现在讲讲怎么做类题。
只讲两种做法(实则是可合并为一种),任何题型都可以转化为这种做法!!!是任何!
首先,设置 int left,right ; //注意:这里的right永远不可达,也就是说最后的答案一定是落在left身上,而不是right身上,一定将right设置的大一点,一定!!!!!
1.
int l=x,=1e7+10; //这里的n是ans的最小值
while(l<r)
     {
         int mid=(l+r)/2;
         if(a[mid] > ans )  //
         {
             r=mid;
         }
         else // a[mid] <= ans
         {
             l=mid;
         }
         if(l+1==r) break; //关键  关键  如果不加这一行,很有可能会出现死循环,因为前两步设置的是l=mid,(mid一定会落在l头上),这样l会一直小于r
     }
return l;
2.
    int left=0,right=n; //right依旧不可达,设的大一点
     while(left<right)
     {
         int mid=(left+right)/2;
         if(a[mid]>=x) right=mid; 
         else left=mid+1;
     }
     return right; //此时left=right
欢迎讨论!!!
