博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva10487-最接近的和
阅读量:4924 次
发布时间:2019-06-11

本文共 979 字,大约阅读时间需要 3 分钟。

题目链接

 

解题思路

先排序。

对于每个数,找到另外两个数,使得与其中一个加起来小于目标与另外一个加起来大于目标。

如果找不到可能是只能选头两个或末尾两个。

再求绝对值那个更小就行了。

 

代码

#include
#include
#define MAX_NUM 1<<31-1using namespace std;const int maxLen = 1005;int data[maxLen];int targer[26];int ans[26];int minv;int Judge(int i, int n, int t){ int pre = -1; for(int k=i+1; k
=t) pre=k; if(pre==-1) { if(data[i]+data[n-1]
=t) { if(abs(data[i]+data[i+1]-t)
abs(data[i]+data[pre]-t)) { minv = abs(data[i]+data[pre]-t); return data[i]+data[pre]; } else return MAX_NUM; } else if(minv>abs(data[i]+data[pre+1]-t)) { minv = abs(data[i]+data[pre+1]-t); return data[i]+data[pre+1]; } else return MAX_NUM;}int main(){ int n, cases = 1; scanf("%d", &n); while(n != 0) { for(int i=0; i

 

转载于:https://www.cnblogs.com/ZengWangli/p/5778687.html

你可能感兴趣的文章
boost安装
查看>>
Vue与React的异同
查看>>
360:跳高游戏
查看>>
CSS3 Background-size
查看>>
Python Ethical Hacking - MAC Address & How to Change(3)
查看>>
生成验证码
查看>>
深入理解计算机系统 第2章 信息的表示和处理
查看>>
JS中数据结构之链表
查看>>
Tomcat 配置文件 (server.xml)详解--转载
查看>>
Golang理解-字符串拼接的几种方式
查看>>
Linux系统-RPM库顺坏
查看>>
Golang理解-错误处理策略
查看>>
运维职责
查看>>
Golang理解-集合
查看>>
element中使用表单验证rules 需要注意
查看>>
AnyChatSDK 实现视频通话
查看>>
Gerrit error when Change-Id in commit messages are missing
查看>>
【面试题】实现一个队列数据结构,并使用这个队列实现一个生产者消费者模式...
查看>>
第二阶段团队冲刺第二天站立会议
查看>>
隐式激活Activity
查看>>