小代码   找出重复过半的数 (特性一维数组)
更新:HHH   时间:2023-1-7


 
#include <iostream>
using namespace std;
int main()
{
  int a[]={1,2,2,2,2,3,4,5,2,2,4,2,2,2,3};
   int count=1,number=a[0];       
    //  number =0 while in int a[]={1,1,1,1,1,3,4,5,6};error
  for(int i=1;i<sizeof(a)/sizeof(a[0]);i++)
   {
   if(a[i]==a[i-1])count++;
   else            count--;
   if(count==0) number=a[i];
   }
   cout<<"number= "<<number;
 
}
/*****************
 * http://www.anycodes.cn/zh/
 {1,2,2,2,2,3,4,5,2,2,4,2,2,2,3};
A[I]     COUNT    NUMBER
2          0       (2)
2          1        2
2          2        2
2          3        2
3          2        2
4          1        2
5          0       (5)
2         -1        5
2          0       (2)
4         -1        2
2         -2        2
2         -1        2
2          0       (2)
3          1        2
******************/

和剑指offer那的计数为1的判断 思想一致代码风格不一样

返回编程语言教程...