博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程练习:寻找发帖"水王"扩展问题二
阅读量:5275 次
发布时间:2019-06-14

本文共 1161 字,大约阅读时间需要 3 分钟。

回顾

在前面两篇文章已经实现了,以及

分析

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

实现

/**     * @Author fanjiajia     * @Date 下午8:50 2018/12/20     * @Description 长度为N的数组中有3个元素,出现次数都超过N/4,找出这3个元素     **/    public 
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; }

最后

生命不息,使劲造

转载于:https://www.cnblogs.com/numen-fan/p/10152545.html

你可能感兴趣的文章
Neo4j实战 (数据库技术丛书)pdf
查看>>
IBatis.Net学习笔记(四)--再谈查询
查看>>
pku 1191 棋盘分割 DP / 记忆化搜索
查看>>
thinkPHP源码目录介绍
查看>>
BZOJ 1269: [AHOI2006]文本编辑器editor Splay
查看>>
Summary Ranges
查看>>
新旧apache HttpClient 获取httpClient方法
查看>>
linux面试题2
查看>>
UIKIT_EXTERN和define定义常量
查看>>
基于文件组备份还原
查看>>
实现Runnable接口的好处
查看>>
Vuex-状态管理模式
查看>>
浮点数运算的精度问题:以js语言为例
查看>>
数据挖掘领域十大经典算法
查看>>
【C语言】09-字符串
查看>>
获取文件描述符
查看>>
对比poj3050
查看>>
CentOS快捷键总结
查看>>
FJOI2018二试游记
查看>>
A__Java为数据结构提供的实用包的运用(减少代码量)---更新中ing
查看>>