博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查找不同的木棍
阅读量:4579 次
发布时间:2019-06-09

本文共 1004 字,大约阅读时间需要 3 分钟。

题目描述:

  小明的收集了一些木棍,并测量了每个木棍的长度,记录下来.假设小明有奇数根木棍,只有一个木棍找不到跟它一样长的另外一根木棍.请编程找出这个没有相同长度的木棍,输出它的长度.
  知识点: 排序;或者用异或操作 0 异或x=x;x异或x=0;a异或b异或c=a异或(b异或c)=(a异或b)异或c=a异或c异或b

 

输入描述:

输入包含一个奇数n(n<30000),然后是n个整数,表示每个木棍的长度,并保证只有一根木棍找不到跟他一样长的木棍.  

 

输出描述:

输出符合条件的木棍的长度

 

样式输入:

5 22 76 87 76 22  

 

样式输出:

87  

#include
void quickSort(int a[],int left,int right){ int i,j,temp; i=left; j=right; temp=a[left]; if(left>right) return; while(i!=j)/*找到最终位置*/ { while(a[j]>=temp && j>i) j--; if(j>i) a[i++]=a[j]; while(a[i]<=temp && j>i) i++; if(j>i) a[j--]=a[i]; } a[i]=temp; quickSort(a,left,i-1);/*递归左边*/ quickSort(a,i+1,right);/*递归右边*/}void main(){ int a[30002]; int i,n; scanf("%d",&n); for (i=1;i<=n;i++) scanf("%d",&a[i]); quickSort(a,1,n); a[0]=-3211; a[n+1]=-4321; for (i=1;i<=n;i++) if ((a[i]!=a[i-1]) && (a[i]!=a[i+1])) printf("%d",a[i]);}

 

 

转载于:https://www.cnblogs.com/achst/p/3647073.html

你可能感兴趣的文章