1117. Eddington Number 解析
2017-03-16 14:21
323 查看
其实题目不难,就是很绕,然而我现在还是有点绕在里面的。统计数出现的次数,然后按要求输出。
#include <iostream>
#include <cstring>
#include <map>
#define MAX 1000100
using namespace std;
map <int, int> no2num;
int Count[MAX];
int n;
int ans;
int main() {
cin >> n;
memset(Count, 0, sizeof(Count));
int temp;
int max = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &temp);
if (temp > max)
max = temp;
Count[temp]++;
}
int p = 0;
for (int i = 0; i <= max; i++) {
if (Count[i] != 0)
no2num[++p] = i;
}
int sum = 0;
int ans = 0;
for (int i = p; i > 0; i--) {
sum += Count[no2num[i]];
// cout << sum << " " << no2num[i] << endl;
if (sum >= no2num[i] - 1) {
ans = no2num[i] - 1;
break;
}
}
cout << ans << endl;
return 0;
}
#include <iostream>
#include <cstring>
#include <map>
#define MAX 1000100
using namespace std;
map <int, int> no2num;
int Count[MAX];
int n;
int ans;
int main() {
cin >> n;
memset(Count, 0, sizeof(Count));
int temp;
int max = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &temp);
if (temp > max)
max = temp;
Count[temp]++;
}
int p = 0;
for (int i = 0; i <= max; i++) {
if (Count[i] != 0)
no2num[++p] = i;
}
int sum = 0;
int ans = 0;
for (int i = p; i > 0; i--) {
sum += Count[no2num[i]];
// cout << sum << " " << no2num[i] << endl;
if (sum >= no2num[i] - 1) {
ans = no2num[i] - 1;
break;
}
}
cout << ans << endl;
return 0;
}
相关文章推荐
- Single Number II位运算解析
- 1117. Eddington Number(25)
- 数据库分页大全(oracle利用解析函数row_number高效分页)
- 数据库分页大全(oracle利用解析函数row_number高效分页)
- 1104. Sum of Number Segments 解析
- 解析数据库分页的两种方法对比(row_number()over()和top的对比)
- Ugly Number I II 解析
- 1117. Eddington Number(25)
- [Leetcode]LeetCode Single Number II 位运算法解析理解
- JavaScript中Date,Math,Global,Number等对象的浅析,Array数组对象的解析
- 1117. Eddington Number(25)
- 1117. Eddington Number(25)
- 1117. Eddington Number(25)
- PAT_A 1117. Eddington Number(25)
- PAT--1117. Eddington Number
- Google公共电话号码解析库: libphonenumber
- 1117. Eddington Number(25)
- oracle 中to_char、to_number、to_date的用法解析
- 使用递归算法结合数据库解析成java树形结构 1、准备表结构及对应的表数据 a、表结构: create table TB_TREE ( CID NUMBER not null, CNAME VAR
- 1117. Eddington Number(25)[基础逻辑题]