Hdoj-1563-Find your present!
2016-04-08 13:06
441 查看
题目:Find your present!
本题有多种做法。我刚刚开始所选用的方法略为暴力,定义一个数组,直接在输入编号的过程中,把其对应数组下标的数组元素++。
解法1:(Runtime Error)
开的数组太小,而编号又可能是大整数(但不超过int范围)。得到这样的结果也是早有预料。
看了下Discuss,发现高手们的解法非常值得学习和体会。贴两种方法:
解法2:(accept)
做法是简单的sort排序,然后遍历一遍数组元素,找到既与前面的元素不同,又与后面元素不同的数组元素,就是我们要的答案了。
Discuss也有人用这样的算法,但是还是对两个端点进行了判断。用上面这个条件判断即可。
解法3:(accept)
在输入的时候判断最大的那个数,输出即可。
解法4:(accept)
直接暴力即可。
本题有多种做法。我刚刚开始所选用的方法略为暴力,定义一个数组,直接在输入编号的过程中,把其对应数组下标的数组元素++。
解法1:(Runtime Error)
#include<stdio.h> #include<string.h> int a[1005]; int main() { int n; while(scanf("%d",&n)!=EOF) { if(n==0)break; int b; memset(a,0,sizeof(a)); while(n--) { scanf("%d",&b); a[b]++; } int i; for(i=1;i<1000;i++) { if(a[i]%2!=0) { printf("%d\n",i); break; } } } return 0; }
开的数组太小,而编号又可能是大整数(但不超过int范围)。得到这样的结果也是早有预料。
看了下Discuss,发现高手们的解法非常值得学习和体会。贴两种方法:
解法2:(accept)
#include<iostream> #include<algorithm> using namespace std; int main() { int n; while(cin>>n&&n){ int a[2000],i; for(i=0;i<n;i++) cin>>a[i]; sort(a,a+n); for(i=1;i<n;i++) if(a[i]!=a[i-1]&&a[i]!=a[i+1]){ cout<<a[i]<<endl; break; } } }
做法是简单的sort排序,然后遍历一遍数组元素,找到既与前面的元素不同,又与后面元素不同的数组元素,就是我们要的答案了。
Discuss也有人用这样的算法,但是还是对两个端点进行了判断。用上面这个条件判断即可。
解法3:(accept)
在输入的时候判断最大的那个数,输出即可。
解法4:(accept)
#include <iostream> #include <cstring> using namespace std; int main() { int n,j,a[201],b[201]; while((cin>>n)&&n) { memset(b,0,sizeof(b)); for(int i=0;i<n;i++) { cin>>a[i]; for(j=0;j<i;j++) if(a[j]==a[i]) { b[j]++; break; } if(j==i) b[i]++; } for(int i=0;i<n;i++) if(b[i]==1) { cout<<a[i]<<endl; break; } } return 0; }
直接暴力即可。
相关文章推荐
- kafka创建topic报错:KeeperException$NoNodeException: KeeperErrorCode = NoNode for /brokers/ids
- java导出Excel通用方法
- Android数据库 SQLite数据库
- Median of Two Sorted Arrays
- HDU 3629-Convex找凸四边形个数(扫描+二分/two pointers)
- 常见jquery函数集合总结
- 唯品会——java开发实习生机试
- 几种最常见的网站盈利模式分析
- Delphi 实现Ini文件参数与TEdit和TCheckBox绑定(TSimpleParam)
- android数据存储——文件存储
- parcelable接口
- 剑指offer-面试题37.两个链表的第一个公共结点
- 原生js和jquery实现图片轮播特效
- USB学习笔记连载(二十):FX2LP如何实现高速和全速切换(转载)
- HDU S NIM 求sg函数
- 谷歌离线地图API解析
- DataInputStream和DataOutputStream使用方法细节探讨
- 汉堡包1.0
- 内存溢出OOM与内存泄漏ML
- 剑指offer-面试题32.从1到n整数中1出现的次数