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

重庆品牌网站建设公司wordpress 4.7.8

重庆品牌网站建设公司,wordpress 4.7.8,app界面设计叫什么,wordpress内容表单题目描述 在一个非降序列中&#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.yayakq.cn/news/92777/

相关文章:

  • 影视网站建设要多少钱河北建设工程信息网辅助系统
  • 网站服务公司特点资讯网站开发
  • 网站分页导航诚信网站费用
  • 移动端网站建设的意义企业推广品牌
  • 找项目网站WordPress整合phpems
  • 站外推广渠道有哪些网页设计总结5000字
  • 有哪些网站可以做设计挣钱电商网站设计欣赏
  • 英语网站的建设需要公司网站用服务器
  • 网站推广名片wordpress 使用教程
  • 公司制作网站价格外国网站 dns解析失败
  • 广西建设中心培训网站建设部举报网站
  • 网站后台文章编辑不了放心的网站建设代理
  • 温州建设监理协会网站高端网站设计报价
  • 网站建设硬件投入表潍坊做网站联系方式
  • 贵州网站推广电话网站开发哪种语言
  • 网站做微信公众号上海做网站品牌
  • ai网站设计多功能创意产品设计
  • 网站首页标题怎么设置重庆网站仿站
  • 网站模板定做网页设计添加图片插件
  • 看汽车图片的网站可以做壁纸新化 网站开发
  • 网站建设需求报告怎么编写网站代码
  • 单页站如何做网站seo优化做网站改版的
  • wordpress多站点无法发布文章网站实名认证流程
  • 极速建站胶带制作彩虹光影图片
  • 网站建设的一般流程是怎样的微信红包建设网站
  • 网站建设报价请示制作企业网站与app有什么不同
  • 如何做网站的软件竞猜网站模板
  • yes风淘宝网站wordpress安卓源代码
  • 网站设置密码怎么破解上海做淘宝网站设计
  • 深圳建立网站营销设计1核1g服务器做网站