标签:
一、题目
1 #include <iostream.h> 2 3 int main() 4 { 5 int a[100]; 6 int i,j,k=1; 7 int shui; 8 cout<<"假设有10个ID,"; 9 for(i=0;i<10;i++) 10 { 11 cout<<"请输入第"<<i+1<<"个ID:"<<endl; 12 cin>>a[i]; 13 } 14 shui=a[0]; 15 for(i=1;i<10;i++) 16 { 17 if(shui!=a[i]) 18 { 19 k=k-1; 20 if(k<0) 21 { 22 shui=a[i+1]; 23 k=1; 24 i++; 25 } 26 } 27 else 28 { 29 shui=a[i]; 30 k=k+1; 31 } 32 } 33 cout<<"水王的ID是:"<<shui<<endl; 34 return 0; 35 }
四、运行结果截图
五、总结
这道题继续是优化问题,如果通过遍历计数,比较所有出现的ID数目找出最多的也可实现,但时间复杂度高,不是最优算法。算法优化有很长的路,应该多想好的方法,平时编写也该注意寻找更优的算法。
标签:
原文地址:http://www.cnblogs.com/dr73/p/4448171.html