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

百度推广网站备案进货渠道网

百度推广网站备案,进货渠道网,网络营销软件,湖南网络营销#xff08;请先看置顶博文#xff09;本博打开方式#xff0c;请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 一、题目大意 查找最接近的元素#xff08;分治法/二分查找#xff09;#xff1a;在一个非降序列中#xff0c;查找与给定值最接近的元素。…请先看置顶博文本博打开方式请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 一、题目大意 查找最接近的元素分治法/二分查找在一个非降序列中查找与给定值最接近的元素。 [输入] 第一行包含一个整数n为非降序列长度。 第二行包含n个整数为非降序列各元素。 第三行包含一个整数m为要询问的给定值个数。1 m 10000。 接下来m行每行一个整数为要询问最接近元素的给定值。所有给定值的大小均在0-1,000,000,000之间 [输出] m行每行一个整数为最接近相应给定值的元素值保持输入顺序。若有多个值满足条件输出最小的一个 input 3 2 5 8 2 10 5 output 8 5 二、主要思想 我认为这道题考察的知识点有两个一个是递归另一个是二分查找。这个二分查找和通常的二分查找不一样题目要求查找最接近的所以这就给题目求解带来了很大的难度。我在写程序时先在纸上模拟用到了很多的if和else判断语句对可能出现的各种情况进行细分最后实现了一个finder函数用于在递增数列中查找与要查找的数字最近的数字。 关于二分 在写代码的时候遇到一个问题就是关于long long的使用问题 1、long long定义时如果还用scanf()函数输入编译器不报错但是输入的数字完全改变。 针对这个问题我也找到了相应的解决办法请看这篇文章C语言CED与long long相关的知识_liO_Oil的博客-CSDN博客 三、具体实现 #includestdio.h #includestdlib.h int a[1000];//存放升序排列的一列数字 int b[1000];//存放要找的数字 int m;//输入要查找的数的个数 long long finder(int mx, int mn, int mid, int j)// {//第一步区分查找的这个数是否在开区间内if (b[j] a[mn] || b[j] a[mx])//不在{//对内部进行细分到底是比最小的还小还是比最大的还大if (b[j] a[mn]) //比最小的还小printf(%d\n, a[mn]);else//比最大的还大printf(%d\n, a[mx]);}else//位于最小的数字和最大的数字之间{//根据mid来分比mid大还是比mid小还是和mid相等if (a[mn]b[j] b[j]a[mid])//比mid小{if (mid - mn ! 1){mx mid - 1;//将mx替换为midmid (mn mx) / 2;//重新计算mid下标finder(mx, mn, mid, j);}else{if (a[mid] - b[j]b[j] - a[mn])//比较距离printf(%d\n, a[mn]);else if (a[mid] - b[j]b[j] - a[mn])printf(%d\n, a[mid]);elseprintf(%d %d\n, a[mn], a[mid]);}}else if (a[mid]b[j] b[j]a[mx])//比mid大{if (mx - mid ! 1){mn mid;//重新计算mnmid (mn mx) / 2;//重新计算mid下标finder(mx, mn, mid, j);}else{if (b[j] - a[mid]a[mx] - b[j])printf(%d\n, a[mx]);else if (b[j] - a[mid]a[mx] - b[j])printf(%d\n, a[mid]);elseprintf(%d %d\n, a[mid], a[mx]);}}else//和mid相等printf(%d\n, b[j]);}return 0; } int main() {int j 0;//用作函数循环的int n;//输入非降序序列的长度scanf(%d, n);for (int i 0; in; i) //循环输入n个数字scanf(%d, a[i]);scanf(%d, m); //输入要查询的数字个数for (int i 0; im; i) //循环输入要查找的数存在b[i]中scanf(%d, b[i]);int mx n - 1, mn 0;int mid (mx mn) / 2;for (j 0; jm; j)//循环调用函数把b[j]中存储的所有要找的数字找完finder(mx, mn, mid, j);system(pause);return 0;}在写完这个程序后我用大量的数据科学的测试方法边缘测试进行测试结果是没有发现问题如果大家在测试过程中发现问题请及时留言欢迎
http://wiki.neutronadmin.com/news/83358/

相关文章:

  • 西安做网站朋朋wordpress次级目录ftp
  • 网站建设与技术团队网站免费源码大全无需下载
  • 好商网的网站可以做中英文切换吗自媒体写作平台
  • 怎样才能建设只是于自己的网站辽宁建设工程信息网专家入库
  • 高端网站设计官网百度软件市场
  • 做lol数据的网站北京网站建设公司华网制作作
  • 网站开发找聚脑网最快网站备案
  • 太原h5建站东昌府做网站
  • 建设咖啡厅网站的意义平顶山营销型网站建设
  • 长沙网站的优化沧州网站制作网站
  • 业网站制作网站建设设计猫和老鼠
  • 做网站的去哪找客户网上网站怎么做
  • 老薛主机做两个网站做个电商平台要多少钱
  • 做外贸的j交易网站东莞企业网站建设
  • 网站备案费用多少公司百度网站建设
  • 做网站感觉挣不到钱啊wordpress获取权限
  • 云南哪几个建网站公司阿里巴巴国际站介绍
  • 关于设计方面的网站wordpress 多人编辑
  • 电影网站做流量关于推动门户网站建设d
  • 增城新塘网站建设用自己的电脑做网站需要备案吗
  • 南通网站建设要多少钱专业做推广的公司
  • 华强北网站建设网络推广代理
  • 北京网站优化培训淘宝美工做兼职的网站
  • stm32做网站服务器网页设计与网站建设报告
  • 青岛工程建设监理公司网站网站建设与管理需要什么软件有哪些
  • 济南做公司网站需要多少钱公司网站建设费如何入账
  • 安顺住房和城乡建设部网站辽宁公司网站建设
  • ipv6网站建设东莞移动版wordpress主题
  • php商城网站建设多少钱游戏网站免费入口
  • 免费照片的网站模板wordpress上传附件