1_jingjing1

来源:互联网 发布:linux shell 输入 编辑:程序博客网 时间:2024/06/16 19:31


题目意思挺简单的,就是找到一组数中只出现一次的那个数。

第一次做,是排好序后再遍历查找,代码如下:

#include <stdio.h>#include <iostream>#include <algorithm>using namespace std;int num[ 3000000 ] = {-1};void search(int n)  {int t = -1;    for(int i = 1;i <= n;i ++)          scanf("%d",&num[ i ]);    sort(num + 1,num + n+1);    for(int j = 1;j <= n;j ++){      if(num[ j-1 ] != num[ j ] && num[ j+1 ] != num[ j ]) {    t = num[ j ];printf("%d ",t);        }    }}int main()  {      int n;      cin >> n;    search(n);    return 0;  }

一开始并不知道还有“异或”这种运算,经同学提点,改成如下:

#include <stdio.h>int main() {int n,num,t = 0;scanf("%d",&n);for(int i = 0;i < n;i ++) {scanf("%d",&num);t ^= num;}printf("%d",t);return 0;}
慢慢进步吧,不期望一口气吃成一个胖子,嘿嘿

0 0
原创粉丝点击