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

毕业设计做网站哪种好营销网站建设门户

毕业设计做网站哪种好,营销网站建设门户,wordpress小工具分享,制作网站网页域名的公司给定一个数组,在区间内从左到右查找中间值,每次查找最小值与最大值区间内的中间值,且这个区间元素数量不小于3。 例如 1.给定数组float[] data { 1, 2.3f, 4, 5.75f, 8.125f, 10.5f, 13, 15, 20 } 输出:10.5、5.75、4、2.3、8…

给定一个数组,在区间内从左到右查找中间值,每次查找最小值与最大值区间内的中间值,且这个区间元素数量不小于3。

例如

1.给定数组float[] data = { 1, 2.3f, 4, 5.75f, 8.125f, 10.5f, 13, 15, 20 }

输出:10.5、5.75、4、2.3、8.125、15、13

解释:

1)(20+1)/2=10.5,首先从整个数组中获取中间值;

2)(10.5+1)/2=5.75,从左边开始计算,左边为1,也就是区间[1,10.5],此区间元素数量大于2,因此需要计算;

3)(1+5.75)/2=3.375,左边为1,也就是区间[1,5.75],此区间元素数量大于2,因此需要计算;数组中不存在3.375,找最接近的4;

4)(1+4)/2=2.5,,左边为1,也就是区间[1,4],此区间元素数量大于2,因此需要计算;数组中不存在2.5,找最接近的2.3;

左边查找结束,查找右边

5)(5.75+10.5)/2=8.125,区间[5.75,10.5],此区间元素数量大于2,因此需要计算;

6)8.125与10.5,区间[8.125,10.5],此区间元素数量等于2,因此不需要计算;

7)(10.5+20 )/2=15.25,区间[10.5,20],此区间元素数量大于2,因此需要计算;数组中不存在,找最接近的15

8)(10.5+15)/2=12.75,先找左边区间,区间[10.5,15],此区间元素数量大于2,因此需要计算;数组中不存在,找最接近的13

9)15与20之间无,结束。

2.给定数组float[] data = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }

输出:5、3、2、4、7、6、8

代码:

 public static Queue<float> FindMiddle(float[] data){if (data.Length < 3) return new Queue<float>();int leftIndex = 0;int rightIndex = data.Length - 1;Queue<float> queue = new Queue<float>(data.Length - 2);FindMiddle(data, leftIndex, rightIndex, queue);return queue;}static void FindMiddle(float[] data, int leftIndex, int rightIndex, Queue<float> queue){if (rightIndex - 1 <= leftIndex) return;float target = (data[leftIndex] + data[rightIndex]) / 2f;int middleIndex = FindClosestNum(data, leftIndex, rightIndex, target, out float value);queue.Enqueue(value);FindMiddle(data, leftIndex, middleIndex, queue);FindMiddle(data, middleIndex, rightIndex, queue);}static int FindClosestNum(float[] nums, int leftIndex, int rightIndex, float target, out float middle){int left = leftIndex;int right = rightIndex;int mid = 0;float temp;while (left <= right){mid = left + ((right - left) >> 1);temp = nums[mid];if (temp == target){middle = temp;return mid;}else if (temp < target)left = mid + 1;elseright = mid - 1;}if (right < 0){middle = nums[left];return left;}else if (left >= nums.Length){middle = nums[right];return right;}else{if (Math.Abs(nums[left] - target) < Math.Abs(nums[right] - target)){middle = nums[left];return left;}else{middle = nums[right];return right;}}}

思路:从左边查找中间值,直到找完后找右边,一直到结束

http://www.shuangfujiaoyu.com/news/21671.html

相关文章:

  • 网站流量分成代推广app下载
  • wap网站预览中国的搜索引擎有哪些
  • 开源网站搭建最新网站查询工具
  • 无锡做网站首选众诺搜索引擎优化seo优惠
  • 自家电脑做网站静态网站模板
  • 微信定制版app提供seo顾问服务适合的对象是
  • 做暧暧xoxo网站纹绣培训班一般价格多少
  • 高端商城网站建设免费网站申请注册
  • 网站设计在线培训徐州关键词优化排名
  • 河南省工程建设监理协会网站百度seo标题优化软件
  • 外国人做的甲骨文网站分类达人的作用
  • 高端网站制作哪家专业网站seo快速排名优化
  • 乐清哪里有做网站图片外链生成器
  • 教育培训网站建设方案竞价托管开户
  • 烟台专业的网站建站公司引擎搜索对人类记忆的影响
  • 网站开发测试安卓aso关键词优化
  • 网络优化app哪个好seo 视频
  • 赣州新闻发布会天津优化代理
  • 网站首页大图的尺寸seo诊断工具有哪些
  • 网站图片滚动是怎么做的便宜的seo网络营销推广
  • 世界知名网站最近一周的国内新闻
  • 如何查看网站备案号电商网站平台
  • 深圳集团网站开发网站开发公司seo对网店推广的作用有哪些
  • 网站备案要什么关键对话
  • 做网站点击赚取广告费软文平台
  • 如何制作简易 网站软文营销文章
  • 湛江做网站电话宁波seo外包方案
  • 做内网网站新网站百度多久收录
  • 做公司官网需要哪些技术搜索优化的培训免费咨询
  • 大连专业手机自适应网站建设搜索引擎广告案例