发帖水王扩展代码 ,引用来的

来源:互联网 发布:我和你相遇网络里 编辑:程序博客网 时间:2024/05/02 04:40
 花了我40分钟,写出来的代码如下:
C/C++ code
Type * Find(Type * ID,int N){ Type candidate[3]; int nTimes[3]; int nTimes_A,i,j,sum_flag = 0; for(i = 0; i < 3; i ++) nTimes[i] = 0; for(i = 0; i < N; i++) { for(j = 0;j < 3;j ++) { if(candidate[j].is_empty()) { candidate[j] = ID[i]; nTimes[j] ++; } else { if(candidate[j] == ID[i]) { nTimes[j] ++; } else { sum_flag ++; } } } if(sum_flag == 3) { for(j = 0;j < 3;j ++) nTimes[j] --; for(j = 0;j < 3;j ++) { if(nTimes[j] == 0) { candidate[j].setempty(); } } } } return candidate;}

基本思想是:每次删除4个不同的id,直到最后不能删除为止,一定能够剩下3个不同的满足条件的id
原创粉丝点击