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

做后期的网站有哪些小程序开发文档

做后期的网站有哪些,小程序开发文档,怎么做有邀请码的网站,自己的电脑做网站空间视屏如果要你在一个升序序列中查找一个值的位置&#xff0c;你是否还会傻乎乎的用下面这个 O ( n ) \mathcal O(n) O(n) 的代码暴力查找&#xff0c;如果是&#xff0c;我告诉你&#xff0c;其实根本不用这么做。 int find(int a[],int n,int k) {for(int i0;i<n;i) if(a[i]k)…

如果要你在一个升序序列中查找一个值的位置,你是否还会傻乎乎的用下面这个 O ( n ) \mathcal O(n) O(n) 的代码暴力查找,如果是,我告诉你,其实根本不用这么做。

int find(int a[],int n,int k) {for(int i=0;i<n;++i) if(a[i]==k) return i;
}

猜数字这个游戏大家都玩过吧,这里介绍以下规则:

  1. 一名玩家在一个范围内想出一个数。
  2. 这名玩家告诉其他玩家他所想的范围。
  3. 其他玩家在这个范围内猜数,若:
    • 猜中了:该玩家获胜
    • 没猜中:根据该玩家猜的数缩小范围,然后接着进行操作 2。对于缩小范围,设初始范围为 l ∼ y l\sim y ly,要猜的数为 n n n,猜的数位 n n n,若:
      • m < n m<n m<n,将范围缩小至 m ∼ r m\sim r mr
      • m > n m>n m>n,将范围缩小至 l ∼ m l\sim m lm

显然,想要最快猜到该数,就需要采用折半的方法去猜,每次都猜这个范围的中间数。二分查找也是一样,对于每一次查找,都判断中间的数与要找的数的大小关系,然后采取对应的操作。

需要注意的是,二分查找需要保证序列是升序的。

这里放个代码:

//循环版
int find(int a[],int n,int k) {int l=0,r=n-1;while(l<=r) {int mid=(l+r)/2;if(a[mid]>k) r=mid-1;else if(a[mid]<k) l=mid+1;else if(a[mid]==k) return mid;}return -1;
}
//递归版
int find(int a[],int n,int k,int l,int r) {if(l>r) return -1;int mid=(l+r)/2;if(a[mid]>k) return find(a,n,k,l,mid-1);else if(a[mid]<k) return find(a,n,k,mid+1,r);else if(a[mid]==k) return mid;
}

练习题:洛谷 link

http://www.ritt.cn/news/9936.html

相关文章:

  • 小程序游戏免广告神器百度seo词条优化
  • wordpress隐藏某篇文章上海seo搜索优化
  • 网站需求营销策略包括哪些方面
  • 品牌网站建设专家谷歌广告平台
  • 企业每年向工商网站做申报下载百度语音导航地图安装
  • 城乡住房和城乡建设部网站首页网站建站教程
  • 做网站密云外贸快车
  • 成都市城乡建设委员网站外贸网络推广服务
  • 深圳市凡客科技有限公司昆明seo排名外包
  • 做系统后怎么找回网站收藏夹友情链接也称为
  • 新乡做网站推广网络广告怎么做
  • 用电脑做兼职的网站河北seo公司
  • 有什么网站可以做婚庆视频seo经验是什么
  • 成都网站建设潮州今日最新抗疫数据
  • 网站 通管局 报备西安seo推广公司
  • win7建设网站网推平台有哪些比较好
  • 宁夏电力建设工程公司门户网站seo交流网
  • 龙岗做网站公司szaow今日热搜榜
  • 怎么 给自己的网站做优化呢刷僵尸粉网站推广
  • 广州有名的网站建设公司搜狗seo查询
  • 学校网站要求手机网站
  • 做下载网站有哪些微博营销的特点
  • 大良网站建设电脑培训零基础培训班
  • 法律门户网站源码公司网站设计模板
  • pacdora 设计网长春seo代理
  • 什么可以做冷门网站谈谈你对网络营销的认识
  • 天眼查询泰州seo外包
  • 政府机关网站建设的依据seo管理平台
  • 网站制作与网站设计宁波的网络营销服务公司
  • 别人的做网站杭州seo专员