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

python-最接近target的值

【问题描述】:给定一个数组,在数组中找到两个数,使它们的和最接近目标值的值但不超过目标值,然后返回它们的和。
【问题示例】:输入target=15,array=[1,3,5,11,7],输出14,3+11=14。


完整代码如下:
a=list(map(int,input().split()))
b=int(input())
d=[]
for i in range(0,len(a)):
    if a[i]>b:
        del a[i]
for j in range(0,len(a)):
    for k in range(0,len(a)):
        if a[j]+a[k]-b<=0:
            d.insert(0,abs(a[j]+a[k]-b))
for l in range(0,len(d)):
    if d[l]==min(d):
        e=d[l]
print(b-e)


代码解释:
“a=list(map(int,input().split()))
b=int(input())
d=[] ”,让用户输入一个数组,接着输入目标值,建立一个空列表d。
“for i in range(0,len(a)):
    if a[i]>b:
        del a[i]  ”,将用户输入的数组中大于目标数的数值删除(因为要保证两个数的和不超过目标值)。
“for j in range(0,len(a)):
    for k in range(0,len(a)):
        if a[j]+a[k]-b<=0:
            d.insert(0,abs(a[j]+a[k]-b)) “,,遍历数组,筛选出和不超过目标值的两个数,然后将两个数的和减去目标值的绝对值插入列表d中。
” for l in range(0,len(d)):
     if d[l]==min(d):
        e=d[l]  “,遍历完数组后,遍历列表d,求出d中的最小值,然后将其赋给e。         
“print(b-e) ”,打印目标值与最小绝对值的差,即为和最接近但不超过目标值的两个数的和。


运行效果展示:

e8c8ae40424a40908237a966e27a52ac.jpg

ee97aed2562442f6b11b8bf901c1b160.jpg 

   (声明:以上内容均为原创) 

 

http://www.lryc.cn/news/360544.html

相关文章:

  • 转换张量形状:`nlc_to_nchw` 函数详解
  • 「架构」云上自动化运维及其应用
  • 分布式和集群的区别
  • 最新h5st(4.7.2)参数分析与纯算法还原(含算法源码)
  • Spark大数据 掌握RDD的创建
  • Chrome谷歌浏览器如何打开不安全页面的禁止权限?
  • 3D目标检测入门:探索OpenPCDet框架
  • JS异步编程
  • 多元联合分布建模 Copula python实例
  • 单号日入50+,全自动挂机赚钱
  • LabVIEW老程序功能升级:重写还是改进?
  • chrome谷歌浏览器开启Gemini Nano模型
  • C语言王国——内存函数
  • 【计算机组成原理】1.1计算机的软硬件组成(记录学习计算机组成原理)
  • Qt xml学习之calculator-qml
  • 低代码开发系统是什么?它有那些部分组成?
  • 2024年西安交通大学程序设计竞赛校赛
  • 【学习Day5】操作系统
  • 学习小记录——python函数的定义和调用
  • RHEL7.9修改分区
  • 【Linux】命名管道
  • IMX6Q基于linux4.1.15调试音频芯片tas2505
  • 卷积常用网络
  • Firebase Local Emulator Suite详解
  • 计算机组成原理·存储系统疑点归纳
  • 在 GPU 上实现全规模文件系统加速
  • 代码随想录算法训练营Day7|454.四数相加II、 383. 赎金信、15. 三数之和、 18. 四数之和
  • 编译器屏障概述
  • RUST宏编程入门
  • linux安装srs