找“水王”

本文介绍了一种高效查找发帖最多的用户(水王)的方法。利用该用户发帖数量超过总贴数一半的特点,通过遍历计数的方式快速定位水王ID。

   结对开发,由我和张贺共同完成。

编程思路: 

      水王是发帖最多的人,如果用传统的思想来遍历去计数,计算每个id出现多少次再去比较固然能算出来,可是时间复杂度高。我们转换思路重新分析这道题。

  水王的特点为:(1)每贴必回(2)水王的发贴数超过总贴数的一半;

    从头开始遍历,对可能成为水王的人的id进行计数,如果后边的跟他相同就加一,不同就减一,如果为0就重新选择水王。因为水王发的帖子大于一半,所以剩下的就是水王。

package YunSuan;

import java.util.Scanner;
/*
 * 寻找水王
 */
public class ShuiWang {
    public static void main(String[] args) {
        int[] a = null;//存储帖子id
        Scanner sc = new Scanner(System.in);
        System.out.println("帖子总个数:");
        int sum = sc.nextInt();
        a = new int[sum];
        System.out.println("输入每个帖子的作者:");
        for(int i = 0;i < sum;i++)
        {
            a[i] = sc.nextInt();
        }
        sc.close();
        int n = 0;
        int id = -1;


        
        for(int i=0;i<a.length;i++)
        {
            if(n==0)
            {
                id=a[i];
                n=2;
            }
            else
            {
                if(id==a[i])
                {
                    ++n;
                }
                else
                {
                    --n;
                }
            }
        }
        System.out.println("水王的ID是 : " + id);
        
    }

    
}

 

 

程序执行结果:

 

 

总结:

要学会分析问题,发现“水王”的特点,转换思考方式。

没有实现随机生成发帖的id。

转载于:https://www.cnblogs.com/jingxiaopu/p/6729640.html

### 寻活跃的Java论坛帖子或讨论 为了到关于Java相关的高产帖子或讨论,可以通过以下几个途径来获取有价值的信息: #### 1. Stack Overflow Stack Overflow 是一个非常受欢迎的技术问答网站,其中包含了大量有关Java的问题和解答。通过搜索特定的关键字,如“Java performance optimization”,可以发现很高质量的话题讨论[^1]。 #### 2. Reddit 社区 Reddit 上有专门针对编程和技术交流的子版块(subreddit),比如 r/learnprogramming 和 r/java 。这些地方经常会有开发者分享自己的经验、遇到的问题以及解决方案。参与这样的社区可以帮助更好地理解当前流行的Java话题和发展趋势[^2]。 #### 3. 官方 Oracle Java 论坛 作为Java官方维护者Oracle所运营的一个重要资源中心,这里不仅有来自世界各地的专业人士发表的文章,还有机会直接向专家提问并获得反馈。这使得该平台成为一个不可得的学习与交流场所。 #### 4. GitHub Discussions 许开源项目都会在其GitHub页面设置Discussion板块供贡献者们沟通协作。对于那些想要深入了解某些具体库或者框架的人来说,这里是很好的起点。例如Spring Boot就有自己活跃的discussion area,能够帮助用户解决实际编码过程中碰到的各种难题。 ```python import webbrowser def open_forum_links(): forums = [ ("Stack Overflow", "https://stackoverflow.com/questions/tagged/java"), ("Reddit r/java", "https://www.reddit.com/r/java/"), ("Official Oracle Java Forum", "https://community.oracle.com/community/java"), ("Spring Boot Discussion on GitHub", "https://github.com/spring-projects/spring-boot/discussions") ] for name, url in forums: print(f"Opening {name}...") webbrowser.open(url) open_forum_links() ``` 上述Python脚本可以根据个人喜好修改链接列表中的内容,并自动打开浏览器标签页访问指定网址,方便快捷地浏览各个热门Java论坛
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值