当前位置: 首页 > news >正文

古网站典模板绍兴手机网站建设

古网站典模板,绍兴手机网站建设,ui工程师工资一般多少,丹阳网站建设多少钱目录 二分查找 基本思想 几种情况汇总 一。严格递增序列 1.查找本身 2.查找第一个大于等于自己的 3.查找第一个大于自己的 4.严格递减序列 二。有重复元素 1.取其中第一个出现的 2.取其中最后一个出现的 二分查找 基本思想 几种情况汇总 一。严格递增序列 1.查找本身…

目录

二分查找 基本思想

 几种情况汇总

一。严格递增序列

1.查找本身

2.查找第一个大于等于自己的 

3.查找第一个大于自己的

4.严格递减序列

二。有重复元素

1.取其中第一个出现的

2.取其中最后一个出现的


二分查找 基本思想

 几种情况汇总

一。严格递增序列

1.查找本身

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=1000002;
int n,x; 
int num[N];
int mid;
int bis(int num[],int left,int right,int x)
{while(left<=right){mid=left+(right-left)/2;if(num[mid]>x) right=mid-1;if(num[mid]<x) left=mid+1;if(num[mid]==x){for(int i=mid;i>0;i--)if(num[i]==x&&num[i-1]!=x) return i;}}return -1;
}
int main()
{scanf("%d %d",&n,&x);for(int i=0;i<n;i++) scanf("%d",&num[i]);printf("%d",bis(num,0,n-1,x));}

2.查找第一个大于等于自己的 

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=1000002;
int n,x; 
int num[N];
int mid;
int bis(int num[],int left,int right,int x)
{while(left<right){mid=left+(right-left)/2;if(num[mid]>x||num[mid]==x) right=mid;if(num[mid]<x) left=mid+1;}if(num[left]>=x) return left;else return left+1;
}
int main()
{scanf("%d %d",&n,&x);for(int i=0;i<n;i++) scanf("%d",&num[i]);printf("%d",bis(num,0,n-1,x));}

3.查找第一个大于自己的

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=1000002;
int n,x; 
int num[N];
int mid;
int bis(int num[],int left,int right,int x)
{while(left<right){mid=left+(right-left)/2;if(num[mid]>x) right=mid;if(num[mid]<x||num[mid]==x) left=mid+1;}if(num[left]>x) return left;else return left+1;
}
int main()
{scanf("%d %d",&n,&x);for(int i=0;i<n;i++) scanf("%d",&num[i]);printf("%d",bis(num,0,n-1,x));}

4.严格递减序列

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=1000002;
int n,x; 
int num[N];
int mid;
int bis(int num[],int left,int right,int x)
{while(left<=right){mid=left+(right-left)/2;if(num[mid]>x) left=mid+1;if(num[mid]<x) right=mid-1;if(num[mid]==x) return mid;}return -1;
}
int main()
{scanf("%d %d",&n,&x);for(int i=0;i<n;i++) scanf("%d",&num[i]);printf("%d",bis(num,0,n-1,x));}

二。有重复元素

1.取其中第一个出现的

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=1000002;
int n,x; 
int num[N];
int mid;
int bis(int num[],int left,int right,int x)
{while(left<=right){mid=left+(right-left)/2;if(num[mid]>x) right=mid-1;if(num[mid]<x) left=mid+1;if(num[mid]==x){for(int i=mid;i>0;i--)if(num[i]==x&&num[i-1]!=x) return i;return 0;}}return -1;
}
int main()
{scanf("%d %d",&n,&x);for(int i=0;i<n;i++) scanf("%d",&num[i]);printf("%d",bis(num,0,n-1,x));}

2.取其中最后一个出现的

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=1000002;
int n,x; 
int num[N];
int mid;
int bis(int num[],int left,int right,int x)
{while(left<=right){mid=left+(right-left)/2;if(num[mid]>x) right=mid-1;if(num[mid]<x) left=mid+1;if(num[mid]==x){for(int i=mid;i>0;i--)if(num[i]==x&&num[i-1]!=x) return i;return 0;}}return -1;
}
int main()
{scanf("%d %d",&n,&x);for(int i=0;i<n;i++) scanf("%d",&num[i]);printf("%d",bis(num,0,n-1,x));}

http://www.yayakq.cn/news/339460/

相关文章:

  • 网络运维和网站开发网站建设找单
  • 找单位做网站需要注意什么购物网站开发多少钱
  • 医疗网站专题怎样做网站a记录的是做cname
  • 沈阳妇科医院排名最好的医院合肥seo优化公司
  • 沈阳高端网站定制淮安网站建设方案
  • 成都网站设计公司哪家好广告设计公司有哪些渠道通路
  • 上海免费网站建设门户建设
  • 免费 网站 cms深圳著名设计网站大全
  • 邯郸景区网站制作一个人做网站现实吗
  • 有哪些做婚礼平面设计的网站北京大学 讣告
  • 苏州自助建站模板一级消防工程师考试题型
  • 开发网站需求设计wordpress怎么手动更新
  • 姑苏网站制作怎么帮客户做网站建站
  • 沈阳市住房和城乡建设局网站慧聪网郭凡生现状
  • 大型网站技术架构 pdf成都商铺装修设计公司
  • 多屏合一网站建设做电子请柬用什么网站
  • 泉州网站制作哪个好微重庆百度推广seo
  • 预付的网站开发费用怎么入账网店管家官网
  • 设计做的网站哪些好在哪里可以自己建网站
  • 东莞大型网站建设公司php内容管理系统
  • 10个免费的黑科技网站sem是什么牌子
  • 怎样做网站漂浮网站建设与维护大作业
  • 梓潼移动网站建设微信做的地方门户网站
  • 电商网站建设网网站建设与设计
  • 网站推广的意义网站开发者兼容模式出错
  • 互联网家装路由优化大师官网
  • 如何建网站费用多少来宾住房和城乡建设网站
  • 免费用手机做网站手机软件编程
  • 做医疗网站颜色选择东莞网站设计方案
  • wordpress 插件上传襄阳seo技术