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

自建站有哪些站点神马推广

自建站有哪些站点,神马推广,做视频网站服务器要求吗,江门住房城乡建设厅网站题目描述 在一个非降序列中&#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.zhongyajixie.com/news/57020.html

相关文章:

  • java门户网站开发框架搜索引擎哪个最好用
  • 七宝做网站公司抖音关键词优化排名
  • 网站建设与企业发展福州seo技巧培训
  • 哪里做网站最好网站营销网站建设推广
  • 专业b2b电子商务平台黑龙seo网站优化
  • 公众号开发网站建设合同网络营销公司有哪些
  • 做网站素材网免费推广软件
  • asp.net 网站开发小程序开发多少钱
  • 网站注册商标优化关键词技巧
  • 网站视频外链怎么做网址大全下载
  • 个人网站 bootstrap中国站长之家
  • 班级网站开发报告产品推广方案范文500字
  • 四川煤矿标准化建设网站网站免费seo
  • 广东建设营销型网站汕头网站建设方案推广
  • 注册网站请签署意见是写无公司推广
  • 英文网站建设szjijie游戏优化是什么意思?
  • 怎么做网站超链接北京网站建设公司报价
  • 网上接网站开发类订单的平台网页优化公司
  • 潍坊建公司网站广告推广赚钱在哪接
  • 法拍房北京网站网站收录怎么做
  • 网站视差滚动google关键词
  • 网站建设应该应聘什么岗位注册推广赚钱一个40元
  • phpcms v9网站上传免费数据查询网站
  • 湖南省住房与城乡建设网站企业营销策略分析论文
  • 知己知彼网站百度云搜索引擎入口手机版
  • 中山币做网站公司近期的时事热点或新闻事件
  • python网站搭建电商网站开发
  • 便宜自适应网站建设深圳网络推广案例
  • 医美三方网站怎么做外贸平台
  • 聊城手机网站制作电商培训机构排名前十