二分法之查找最接近目标数的数
来源:互联网 发布:盘点2016网络流行语 编辑:程序博客网 时间:2024/06/15 01:39
/*Name: 查找最接近目标数的数 Author: 巧若拙 Description: 描述给定大小为n的有序数组A,输入一个数key,在数组A中查找最接近key的元素(当最接近的数有2个时,输出值较大的一个) 输入第一行是两个整数n和key。第二行是用空格隔开的n个整数 输出最接近的元素值 样例输入5 41 3 5 7 9样例输出5*/#include<iostream> #include<cstdio> #include<cstdlib> using namespace std; const int MAXN = 1000; int A[MAXN]; int main() { int n, key; cin >> n >> key; for (int i=0; i<n; i++) cin >> A[i]; if (key <= A[0]) cout << A[0] << endl; else if (key >= A[n-1]) cout << A[n-1] << endl;else{int mid, left = 0, right = n; while (left <= right) { mid = (left + right) / 2; if (key > A[mid]) left = mid + 1; else right = mid - 1; } if (A[left]-key <= key-A[right])//当最接近的数有2个时,输出值较大的一个 cout << A[left] << endl; else cout << A[right] << endl; } return 0; }
阅读全文
0 0
- 二分法之查找最接近目标数的数
- 查找和目标数最接近的或者相等的数
- java折半查找法 查找数组中与目标数最接近的数
- 从一个数组中查找和目标数最接近的或者相等的数
- 最接近目标的三数和
- 1.11.1二分查找最接近的数
- 二分法查找数
- 二分法查找某数
- 打印三个数相加和最接近目标整数的组合
- 最接近的数
- 最接近的数
- 最接近的数
- 二分法的查找有序数中的一个数
- LeetCode 3Sum Closest 最接近目标数的三个数和
- C++实现LeetCode(三个数的和最接近目标数)
- 二分法查找数组中的数
- 二分法查找一组有序数
- 最接近的三数之和
- 线程小结
- 数据结构学习笔记:B-/B+树
- python学习笔记--易忘点1
- 1017. A除以B (20)
- 【图像语义分割】Large Kernel Maters--Improved Semantic Segmentation by Global ConvNet
- 二分法之查找最接近目标数的数
- Java基础部分第一节_开发工具
- hadoop教程视频下载,spark教程视频下载,store视频教程下载,大数据教程视频下载
- 二分匹配(匈牙利算法)
- Maven创建聚合工程方法
- 荔枝!番荔枝?
- 【codevs 1269】匈牙利游戏
- WebStorm (Windows)常用快捷键和技巧
- Java学习笔记(一)--基本知识 | 常见dos命令 | 运算符 | 两个重要关键字