美文网首页
编程练习:寻找发帖"水王"扩展问题二

编程练习:寻找发帖"水王"扩展问题二

作者: DuBetter | 来源:发表于2018-12-20 21:25 被阅读0次

回顾

在前面两篇文章已经实现了水王id出现次数超过一半,以及水王id出现次数刚好一半

分析

借助上面水王id出现次数刚好出现一半的分析,其实这里就是找出数组中出现次数前三的元素,具体的分析,见前面两篇文章,其实问题的实质以及分析的基本方向都是相似的。

实现

/**
     * @Author fanjiajia
     * @Date 下午8:50 2018/12/20
     * @Description 长度为N的数组中有3个元素,出现次数都超过N/4,找出这3个元素
     **/

    public <T> T[] func4(T[] arr) {
        T[] candidates = (T[]) new Object[3];
        int[] nTimes = {0,0,0};
        for (int i = 0; i< arr.length; i++) {
            if (nTimes[0] == 0) {
                candidates[0] = arr[i];
                nTimes[0] = 1;
            }else if (nTimes[1] == 0) {
                candidates[1] = arr[i];
                nTimes[1] = 1;
            }else if (nTimes[2] == 0) {
                candidates[2] = arr[i];
                nTimes[2] = 1;
            }else if (candidates[0] == arr[i]) {
                nTimes[0]++;
            }else if (candidates[1] == arr[i]) {
                nTimes[1] ++;
            }else if (candidates[2] == arr[i]) {
                nTimes[2] ++;
            }else {
                nTimes[0] --;
                nTimes[1] --;
                nTimes[2] --;
            }
        }
        return candidates;
    }

最后

生命不息,使劲造

相关文章

  • 编程练习:寻找发帖"水王"扩展问题二

    回顾 在前面两篇文章已经实现了水王id出现次数超过一半,以及水王id出现次数刚好一半 分析 借助上面水王id出现次...

  • 编程练习:寻找发帖"水王"扩展问题一

    回顾 寻找发帖水王的问题总结起来就是在一个数组中某一个元素出现次数超过了数组长度的一半,那么可以很顺利的找到这个元...

  • 编程练习:寻找发帖"水王"

    题目: 寻找发帖"水王" 来源: 编程之美 分析 衍生:就是给定一个数组,其中某个元素出现次数超过了数组长度的一半...

  • 编程之美 2.3 - 寻找发帖“水王”

    题目 传言某论坛有一个“水王”,他的发帖数量超过总发帖数的一半,所有发帖ID都在一起,无序,如何最快找到这个”水王...

  • 2.3 寻找发帖水王

    1 题目 Tango是微软亚洲研究 院的一个试验项目。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说...

  • 寻找发帖水王(经典例题)

    有一个当前论坛所有帖子的列表,作者的ID也在表中, 水王发帖数目超过总数的一半,找到水王的ID 思路: 1.对于数...

  • 2022-11-25

    行业一直在寻找解决方案来解决比特币可编程性差,速度慢和不隐私的问题。在数十年的可扩展性研究和用户体验了可扩展有实质...

  • 简书发帖

    发帖,试水。

  • 十三、扩展点的设计

    一、什么是扩展点 本质是面向接口编程; 扩展点是一类在系统开发时预留的特殊接口,系统在运行时会动态寻找,装载和执行...

  • 超级水王问题

    问题描述假设有一个数组,如果数组中的某一项出现的次数大于数组长度的一半,则这一项就是水王? 可能是因为帖子评论区一...

网友评论

      本文标题:编程练习:寻找发帖"水王"扩展问题二

      本文链接:https://www.haomeiwen.com/subject/ekgukqtx.html