寻找发帖水王
来源:互联网 发布:网络正常朋友圈发不了 编辑:程序博客网 时间:2024/05/01 13:58
《编程之美》的思路:如果一个ID的发帖数超过总数的一半,那么该ID在每个局部范围内也是超过一半的,因此用相互抵消的方法来确定发帖超过一半的ID。算法如下:
在get_post_king中如果ntimes已经为0,说明在已经遍历的部分,没有任何一个candidate是超过一半的,因此需要从当前元素ID[i]重新开始继续遍历,如果ID[i]和candidate相同,那么就ntimes++,如果不相同就ntimes--。
#include <stdio.h>#include <stdlib.h>#define NUM 10int get_post_king(int ID[], int N){ int candidate,i,times; for(times = i=0;i<NUM;i++){ if(times == 0){ candidate = ID[i]; times = 1; }else{ if(candidate == ID[i]) times++; else{ times--; } } } return candidate;}int main(){ int sample[NUM] = {6,6,6,4,5,6,6,9,8,6}; printf("%d\n",get_post_king(sample,NUM));}
在get_post_king中如果ntimes已经为0,说明在已经遍历的部分,没有任何一个candidate是超过一半的,因此需要从当前元素ID[i]重新开始继续遍历,如果ID[i]和candidate相同,那么就ntimes++,如果不相同就ntimes--。
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 2.3 寻找发帖水王
- 编程之美--寻找发帖水王
- 反调试技术揭秘(转)
- 一个计算机专业的大学生对未来的规划
- DIV+CSS基础教程:浮动(float)页面布局
- 图像编程学习笔记4——24位真彩色转换为灰度图像
- Java面向对象的三大特征
- 寻找发帖水王
- 文件描述符的FD_CLOEXEC标志
- (转)下载谷歌插件的离线文件
- hibernate缓存配置文件
- Android GirdView写出TabActivity而已更加具有可定制性
- 电子产品报价
- nginx 301重定向,无www,www
- 定义功能,用于打印数组中的元素。元素间用逗号隔开
- Android锁屏尝试次数太多导致需要google账户登录问题