现在的位置: 首页 > 综合 > 正文

Hackerrand Lonely Integer

2018年10月30日 ⁄ 综合 ⁄ 共 811字 ⁄ 字号 评论关闭

先上正确的代码 这里用到了 一个有意思的公式 ,题目的意思 寻找 只出现一次的数。

A xor A = 0  A xor 0 = A 

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std ;

int main()
{
	int n ;
	cin >> n ;
	if ( n % 2 == 1)
	{
		int  number ;
		vector<int> A ;
		for ( int i = 0 ;  i < n ; ++i)
		{
			 cin  >> number ;
			 A.push_back(number) ;
		}
	
			sort(A.begin(),A.end()) ;
			int answer =  0 ;
			for ( int i = 0 ; i < n ; ++i)  
			   {
			   	   answer  = answer ^ A[i] ;
			   }
			cout << answer << endl ;		       
		        
	}

	return 0 ;
}
</pre><pre name="code" class="cpp">
//下面的代码是能通过部分数据的 ,但是 整体哪里错了 我没找到 , 有人能指正出来最好
#include <iostream>
#include <vector>
#include <algorithm>


using namespace std ;


int main()
{
int n ;
cin >> n ;
if ( n % 2 == 1)
{
int  number ;
vector<int> A ;
for ( int i = 0 ;  i < n ; ++i)
{
cin  >> number ;
A.push_back(number) ;
}
if ( n == 1)  cout << A[0] << endl ;
	</span>else 
{
bool count[n]  ;
sort(A.begin(),A.end()) ;
for ( int i = 0 ; i < n-1 ; ++i)
               if(A[i] == A[i+1]) 
				
 count[i] = true;
 count[i+1] = true;
   }
for ( int i = 0 ; i < n ; ++i)
      if(!count[i])  cout << A[i] << endl;



return 0 ;
}

抱歉!评论已关闭.