数据结构与算法mooc 内排序----数组取数
来源:互联网 发布:python取小数点后两位 编辑:程序博客网 时间:2024/04/29 04:29
**数组取数**查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述有一个整数数组A和一个目标整数T,希望从A中没有放回地取出两个数,使得两个数之差等于T。请问有多少种不同的取法?(取出的两个数分别相等时视为同一种取法)输入输入由两行组成。第一行为两个整型范围内的整数N和T,N为数组长度(N的范围是[2,100000]),T为目标整数。第二行为N个整数,表示数组A,每个整数的范围是[-1000000,1000000]。输出A中取出两个数之差为T的不同的取法的数目。
样例输入6 11 3 2 1 2 2样例输出2
题目很简单,由于数据量过大,使用数组记录该数字是否被取过,以及目前取过的不重复的数字有哪些,然后直接在无重复数字的数组里找多少种取法.
内存: 10272kB时间: 74ms语言: G++
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;int a;int is_happen[2000010];int _index[100010];int main(){ int n, t, ans = 0, num = 0; scanf("%d%d",&n,&t); for(int i=0;i<n;i++) { scanf("%d",&a); a += 1000000; if(is_happen[a] == 0) { _index[num++] = a; } is_happen[a]++; } //sort(_index,_index+num); //有num种数字 if(t == 0) { for(int i=0;i<num;i++) { if(is_happen[_index[i]] >1) ans++; } } else if(t>0) { for(int i=0;i<num;i++) if(_index[i]+t<=2000009 && is_happen[_index[i]+t]!=0) ans++; } else { for(int i=0;i<num;i++) if(_index[i]+t>=0 && is_happen[_index[i]+t]!=0) ans++; } //printf("%d\n",num); printf("%d\n",ans); return 0;}
0 0
- 数据结构与算法mooc 内排序----数组取数
- 【解题报告】openjudge poj 数算mooc 第八周 内排序 数组取数
- 【解题报告】openjudge DNA排序 数据结构与算法mooc 内排序
- 【解题报告】openjudge Freda的越野跑 数据结构与算法mooc 内排序
- 【解题报告】 openjudge The peanuts 数据结构与算法mooc 内排序
- 数据结构与算法mooc 败方树
- 数据结构与算法练习-数组查找,排序
- 数据结构算法总结-内排序
- 高级数据结构与算法:Week 1, 内排序(上)
- 第五章 二叉树 练习题(数据结构与算法MOOC)
- [MOOC笔记]排序专题(数据结构)
- 算法与数据结构 - 数组
- 数据结构与算法:数组
- 【数据结构与算法】排序
- 数据结构与算法 -排序
- 数据结构与算法:排序
- 【数据结构与算法】排序
- [算法与数据结构] 排序
- 操作图像4-pillow-旋转,翻转图像、更改单个元素
- 464. Can I Win
- 数据结构与算法mooc 败方树
- Video-Enhancer-ha马赛克去除工具绿色版
- java根据ip地址获取详细地域信息
- 数据结构与算法mooc 内排序----数组取数
- linux下编译ffmpeg
- hdoj1003解法
- POJ 2387 - Til the Cows Come Home(单源最短路)
- 推荐一些平时写程序和游戏要用的资料的提供网站
- Automation investigation tech
- Pydoc 本地 HTML 形式查看
- Redis 高可用: 主从复制
- 下载和安装 Visual Studio 2015 软件 的详细步骤图文教程