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

自建站有哪些站点域名注册商有哪些

自建站有哪些站点,域名注册商有哪些,app开发要多少钱,建网站需要多少钱2017题目描述 在一个非降序列中&#xff0c;查找与给定值最接近的元素。 输入格式 第一行包含一个整数n&#xff0c;为非降序列长度。1 < n < 100000。 第二行包含n个整数&#xff0c;为非降序列各元素。所有元素的大小均在0-1,000,000,000之间。 第三行包含一个整数m&#x…

题目描述
在一个非降序列中,查找与给定值最接近的元素。
输入格式
第一行包含一个整数n,为非降序列长度。1 <= n <= 100000。
第二行包含n个整数,为非降序列各元素。所有元素的大小均在0-1,000,000,000之间。
第三行包含一个整数m,为要询问的给定值个数。1 <= m <= 10000。
接下来m行,每行一个整数,为要询问最接近元素的给定值。所有给定值的大小均在0-1,000,000,000之间。
输出格式
m行,每行一个整数,为最接近相应给定值的元素值,保持输入顺序。若有多个值满足条件,输出最小的一个。
样例输入
3
2 5 8
2
10
5
样例输出
8
5

解题思路:
经过二分查找后,low和high分别会指向比 x 大和比 x 小的元素,计算这两个元素到 x 的距离,返回更小的那个元素值,不清楚的话可以在代码中打印出经过循环后的low和high值。
注意边界的情况!
假设列表是 [2,5,8]
例如查找的是10,low最后为3,high为2,此时直接返回列表最后一个元素即可;
如果查找的是-1,high最后的取值为-1,low为0,此时直接返回列表第一个值即可。

# 数据的输入
n = int(input())
list1 = list(map(int, input().split()))
m = int(input())def find_closest(li, x):low = 0high = len(li) - 1while low <= high:mid = (low + high) // 2if list1[mid] == x:return list1[mid]elif list1[mid] < x:low = mid + 1else:high = mid - 1# 经过二分查找后,low和high分别会指向比 x 大和比 x 小的元素# 计算这两个元素到 x 的距离,返回更小的那个元素值if low >= len(li):return li[-1]elif high < 0:return li[0]elif abs(li[low] - x) < abs(li[high] - x):return li[low]else:return li[high]for i in range(m):x = int(input())print(find_closest(list1, x))
http://www.wangmingla.cn/news/149524.html

相关文章:

  • 制作一个网站需要哪些步骤优化设计三年级上册答案语文
  • 机关内网站建设方案书关键词推广seo
  • 珠海网站建设联系方式黄页网站推广服务
  • 个人网站做镜像企业网站的作用和意义
  • 手机建站永久免费软件山东建站管理系统
  • 政府网站和政务网站建设自查网站备案信息查询
  • 什么网站做设计可以赚钱吗产品软文范例500字
  • 外贸网站建设公司流程全国疫情最新消息
  • 徐州建设集团有限公司太原seo自媒体
  • 抖音代运营违法吗?seo软件全套
  • 定制类做网站多少钱推广优化网站排名
  • 佰联轴承网做的网站html网页制作软件有哪些
  • 做网站策划营销推广网站友链交换平台
  • 有没有可以在线做化学实验的网站品牌推广的方式
  • 郑州品牌网站建设官网外包
  • 青岛企业自助建站系统百度app客服人工电话
  • 做网站排名多少钱seo排名关键词
  • 网站安装教程百度一下首页网址
  • 环球贸易网国际站淘宝搜索词排名查询
  • 响应式布局如何实现长治网站seo
  • b2b网站优化怎么做新闻20字摘抄大全
  • 移动网站开发服务天津百度推广电话
  • 大型地方门户网站源码弹窗广告最多的网站
  • 做网站开发需要的英语水平百度推广代理加盟
  • 学仿网站文山seo公司
  • 网站安全软件推广app的软文案例
  • 最专业的网站设计平台中国站免费推广入口
  • wordpress悬浮工具安卓手机优化神器
  • 网站 添加备案号又一病毒来了比新冠可怕
  • 网站建设做的人多吗百度seo推广计划类型包含