滴滴第一道xor,求大佬看一下通过率为什么只有30%

#include <iostream>
#define MAX 100000
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//xor区间:xor=0的条件,a[i]=0;或者相邻的数相等
//如果有3个数,前两者异或与第三者异或得零

int main(int argc, char** argv) {
	int n;
	int a[MAX];
	int sum;
	int count=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	
    
   
	int i=0;
	int j=0;
	int sum2=0;
	int sum1=0;
	while(i<n)
	{   
	   sum2=a[i];
	   if(sum2==0)
	    {
	    	count++;  
	    	i++;
		}
	    else{
	    	j=i+1;
	    	 while(j<n)
	   {
	    
		sum1=a[j-1]^a[j];
		sum2=sum2^a[j];
		if(sum2==0&&sum1==0)
		 {
		 count++;
		 j++;	
		 
		 printf("i%dj%d",i,j);
		 } 
		else 
		 {
		 	i=j;
			break; 
		 } 
		 
		} 
		i++;
	    if(sum1!=0||sum2!=0)
	    i=j;
		
		
		}
	  
	
	    
		
	}
	
	
	printf("%d",count);
	return 0;
}

#滴滴#
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务