1048. Find Coins 解析
来源:互联网 发布:slam包括的算法 编辑:程序博客网 时间:2024/06/06 04:39
找两个硬币看能不能付钱,两个硬币必须正好等于要付的价格。
那就直接从小到大排序,然后从第一个元素开始,找价格减去当前硬币的价值,看能不能找到。
注意二分查找的最后位置。这个后面再找个时间研究下。里面其实有很多细节需要注意的。
#include <iostream>#include <vector>#include <string>#include <algorithm>#include <map>#include <queue>#include <stack>#include <cstring>#define MAX 100010using namespace std;int n,m;int coin[MAX];int BinSearch(int num){int l = 0 ,r = n - 1;int pos = -1;while(l < r){int mid = (l + r + 1) /2 ;if(coin[mid] < num)l = mid + 1;else if(coin[mid] > num)r = mid - 1 ;else{pos = mid;break;}}return pos;}int main(){scanf("%d%d",&n,&m);for(int i = 0 ; i < n ; i++){scanf("%d",&coin[i]);}sort(&coin[0],&coin[n]);bool tag = false;for(int i = 0; i < n ;i++){int pos = BinSearch(m-coin[i]);if(pos>0 && pos != i){printf("%d %d\n",coin[i],coin[pos]);tag = true;break;}}if(!tag)printf("No Solution\n");return 0;}
阅读全文
0 0
- 1048. Find Coins 解析
- 1068. Find More Coins 解析
- 1048. Find Coins (25)
- 1048. Find Coins
- 1048. Find Coins (25)
- 1048. Find Coins (25)
- 1048. Find Coins (25)
- 1048. Find Coins
- 1048. Find Coins (25)
- 1048. Find Coins
- PAT 1048.Find Coins
- 1048. Find Coins (25)
- 1048. Find Coins (25)
- 1048.Find Coins
- 1048. Find Coins (25)
- 1048. Find Coins (25)
- 1048. Find Coins
- 1048. Find Coins (25)
- javaweb验证码代码
- extend扩展jQuery工具方法(一)
- Web服务器工作原理概述
- Python语言基础
- spring入门到精通(一)
- 1048. Find Coins 解析
- day_05文件系统及vi编辑器
- 含有虚函数的空类的内存大小
- 浅谈hibernate的sessionFactory和session
- python学习之函数
- java从高到低取出数的每一位
- Spring使用与ssh整合
- nodejs fs API
- ztree.js