2016校招腾讯研发岗笔试题(第四题)
来源:互联网 发布:nginx tcp 转发原始ip 编辑:程序博客网 时间:2024/05/22 12:30
4. 春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。
Java代码如下所示:
package tengxun;/** * 4. 春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现, * 某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。 * 写出具体算法思路和代码实现,要求算法尽可能高效 */public class Test04Money {public static int getMiddle(int[] source,int low,int high){int tep=source[low];//数组中的第一个作为中轴,即比较的基数while(low<high){while(low<high&&source[high]>=tep){high--;}source[low]=source[high];//比中轴小的记录移到低端while(low<high&&source[high]<tep){low++;}source[high]=source[low];//比中轴大的记录移到高端}source[low]=tep;//中轴记录到尾return low;//返回中轴的位置}public static void quickSort(int[] source,int low,int high){if(low<high){int middle=getMiddle(source, low, high);//将source数组一分为二quickSort(source, low, middle-1);//递归quickSort(source, middle+1, high);//递归}}public static int findMostMoney(int[] money){quickSort(money, 0, money.length-1);return money[((money.length-1)/2)];}public static void main(String[] args) {int[] money={1,3,4,2,3,2,2,5,9,8,2,2,2,2,2,2,2};int mostmoney=findMostMoney(money);System.out.println(mostmoney);}}
1 0
- 2016校招腾讯研发岗笔试题(第四题)
- 2016年腾讯校招笔试题(研发岗)
- 2016校招腾讯研发岗笔试题(第一题)
- 2016校招腾讯研发岗笔试题(第二题)用Java实现
- 2016校招腾讯研发岗笔试题---递归法求解格雷码
- 2016腾讯校招研发笔试(三)
- Tencent 2016校招研发岗笔试题
- 腾讯2016校招笔试题
- 腾讯2016校招笔试题
- 腾讯2016校招笔试题
- 腾讯校招笔试题
- 腾讯2016校招笔试题(含答案)
- 微信红包(2016腾讯校招笔试题)
- 腾讯2016校招笔试题(含答案)
- 2016年阿里校招笔试题(JAVA研发岗)
- 百度校招研发工程师笔试题
- 腾讯2015春招pc客户端开发练习卷/腾讯2016研发工程师在线模拟笔试题
- 腾讯2016研发工程师笔试题(三)
- UILable 根据内容大小自适应高度
- WPF的ComboBox 数据模板自定义
- swift基础
- Git Windows下Git安装 | Ubuntu下Git安装 | SSHKey生成
- mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法
- 2016校招腾讯研发岗笔试题(第四题)
- 黑马程序员--@property的使用
- Bootstrap
- 第一篇博客,仅仅是为了看看自己能坚持多久
- EventBus集成和使用
- p12证书转keystore签名
- Spring4新特性——注解、脚本、任务、MVC等其他特性改进
- Understanding mappedBy annotation in Hibernate
- Light oj 1050 - Marbles(概率dp)