春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。
给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。
测试样例:
[1,2,3,2,2],5
返回:2

/*** 超过一半,如果存在,中位数就是.* Created by ustc-lezg on 16/4/7.*/
public class Solution {public int getValue(int[] gifts, int n) {return quickSort(gifts, 0, n - 1);}public int quickSort(int[] arr, int low, int high) {int mid = (high + 1) >> 1;int pivot = partition(arr, low, high);while (pivot != mid) {//利用快排找到中位数if (pivot < mid) {pivot = partition(arr, pivot + 1, high);} else {pivot = partition(arr, low, pivot - 1);}}int res = arr[pivot];if (!check(arr, high + 1, res)) {return 0;}return res;}public int partition(int arr[], int low, int high) {int left = low;int right = high;int temp = arr[low];while (left < right) {while (left < right && arr[right] >= temp) {--right;}if (left < right) {arr[left] = arr[right];}while (left < right && arr[left] <= temp) {++left;}if (left < right) {arr[right] = arr[left];}}arr[left] = temp;return left;}public boolean check(int[] arr, int n, int res) {int count = 0;for (int i = 0; i < n; i++) {if (arr[i] == res) {++count;}}if (count * 2 <= n) {return false;} else {return true;}}}

腾讯笔试题 微信红包相关推荐

  1. 腾讯笔试题--微信红包

    本来这题没什么难度,不值得我写博客的,谁知道一个失误花了半小时才做出来.写下来告诫自己不要再犯错. 春节期间小明使用微信收到很多个红包,非常开心.在查看领取红包记录时发现,某个红包金额出现的次数超过了 ...

  2. 2016年模拟笔试题--微信红包问题

    问题描述: 春节期间小明使用微信收到很多个红包,非常开心.在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半.请帮小明找到该红包金额.写出具体算法思路和代码实现,要求算法尽可能高效. ...

  3. android获取指针空间大小_腾讯笔试题:浅谈计算机中cpu位数和指针

    来一个腾讯笔试题 在刷题的时候看到了腾讯笔试题的这个问题 long a = (long)(((int *) 0) + 4);printf("%ld ",a); 请问输出 a 的值是 ...

  4. 【转】IT名企面试:腾讯笔试题(2)

    摘要:想要进入腾讯公司,面试笔试题是一定要有所准备的.那么这里我们总结了一些腾讯笔试题,例如:const的含义及实现机制等问题. 腾讯是国内数一数二的IT企业了.那么每年想要进入腾讯公司的应聘者也是络 ...

  5. 【腾讯笔试题】2019年腾讯实习正式批移动端开发笔试题

    2019年腾讯实习正式批移动端开发笔试题 说明 不定项选择题 编程题 1.小Q与橙汁 题目描述 输入描述 输出描述 示例1 输入 输出 示例2 输入 输出 2.打怪兽 题目描述 输入描述 输出描述 示 ...

  6. 腾讯笔试题 如下代码,result变量的输出结果是多少

    链接:https://www.nowcoder.com/questionTerminal/fb01e2436c6d453abbbf9801f794165b?pos=102&mutiTagIds ...

  7. 与0xf2值相等的是python_腾讯笔试题涵盖的基础知识

    1.下列减少内存碎片的方法有哪些是正确的? 增加实际申请和释放的次数 频繁调用的子函数尽量使用栈内存 系统申请一大块内存,自己实现内存分配和释放,定时清理内存 降低虚拟内存的大小 解答: 答案2,3是 ...

  8. 腾讯笔试题20210321

    一.链表树 时间限制:C/C++ 1秒,其他语言 2秒 空间限制:C/C++ 262144K,其他语言 524288K 64bit IO Format: %lld 题目描述 在牛牛所在的世界,链表是一 ...

  9. 腾讯笔试题_20220424

    前言 笔试一共五道编程题,满分是100分,时间是两个小时,可以跳题,使用的平台是牛客网,允许跳出界面使用本地IDE. 题目一:构建数字 给定n个长度均为m的数字字符串,从上往下构建成m个新的数,去掉前 ...

  10. LIFE可以做C语言标识符吗,09腾讯笔试题(转)

    答案:#define Max(a,b)  (a/b)?a:b 相关: (1)在C语言源程序中允许用一个标识符来表示一个字符串,称为"宏".被定义为"宏"的标识符 ...

最新文章

  1. DrawIcon 和 DrawIconEx都失真
  2. 开发随笔——NOT IN vs NOT EXISTS
  3. 线程池java.util.concurrent.ThreadPoolExecutor总结
  4. 报错:selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This versio
  5. Linux环境下安装 JDK1.8 和 Tomcat8
  6. 链表的基本操作 java_详细实现单链表的基本操作【Java版】
  7. 2021年中国磁感应芯片市场趋势报告、技术动态创新及2027年市场预测
  8. Debian 9 Stretch国内常用镜像源
  9. PreferenceScreen使用
  10. 基于SSM实现的网上书城系统【附源码】(毕设)
  11. 使用广告终结者屏蔽页面的任意部分
  12. 墓碑上的字符C语言,墓碑上常见的“故显考、故显妣、先考、先妣”,分别是什么意思?...
  13. 马斯克发起投票:是否应该出售特斯拉10%的股票?超5成粉丝赞成
  14. 深度学习高手该怎样炼成?这位拿下阿里天池大赛冠军的中科院博士为你规划了一份专业成长路径
  15. amd k14主板参数_看U选主板:AMD A8-5600K主板怎么选
  16. 通过,aria-describedby属性,获取元素,并设置样式
  17. 电动汽车集群并网的分布式鲁棒优化调度matlab
  18. 【元宇宙系列】初识元宇宙(Mateverse)
  19. 学习李居明老师学风水的第一本书
  20. 两个pdf合并成一个pdf的方法

热门文章

  1. 自考计算机00051笔记,自考00051 管理系统中计算机应用自考资料笔记自考小抄.doc...
  2. win10计算机名和计算机物理地址,Win10系统查询电脑MAC地址方法【图文】
  3. 详解二叉树的递归遍历与非递归遍历
  4. 西门子g120变频器接线图_西门子G120变频器通过IOP-2面板初始设置
  5. ubuntu固定ip地址
  6. 停车场管理系统软件概要设计说明书
  7. 百度翻译反向js——破解反爬虫
  8. html中怎样把背景图片置顶,HTML5中背景图片如何设置
  9. 【蓝桥杯单片机进阶强化-01】PCF8591的基本原理与A/D转换应用
  10. java中新建对象设为null 和new 一个对象的区别