找水王
题目:三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
思路:根据上课的时候同学提供的思路,这个问题可以简化为若干个数字里找出重复最多的一个数字,首先设立一个计数的参数j1,从第一个id开始,如果有两个连续的不同就跳过,同时j1减1,两个连续的id相同j1加1,并把连续的id值赋值给i1
总结:主要是同学的思路打开了我的思维,把问题简化,找出重复次数最多的那个数字也就是水王,同时也告诉我学会集思广益,自己的想法总归是有局限性的
#include <iostream> using namespace std; int findwater(int m[20],int n){ int i1=0,j1=0; //设立两个参数,i1记录水王id,j1计数, int i; for(i = 0;i < n;i++){ if(i1 == 0 || j1 == 0){ //若i1为0或者j1为0,为i1(重新)赋值m[i],同时j1加一 i1 = m[i]; j1++; } else if(i1 == m[i]) //若两个id值连续,j1加一 j1++; else j1--; } return i1; } int main(){ int id[20] ,num; int i; cout<<"请输入发帖数:"<<endl; cin>>num; cout<<"请输入发帖id:"<<endl; for(i = 0;i < num;i++) cin>>id[i]; cout<<"水王id为: "<<findwater(id , num)<<endl; system("pause"); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端