题目描述

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

给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。

若没有金额超过总数的一半,返回0。

测试样例:

[1,2,3,2,2],5
返回:2

思路:常规方法这里不再赘述(n^2暴力,hash等),这里考虑采用巧妙的线性复杂度方法,我们通过两个变量完成这项任务:

其中num表示一个数出现的次数,last表示当前这个数。因为我们知道一个数出现的次数大于总数的一半,则这个数有且仅有一个,因此我们通过当前数与last进行比较,若相等则num++,否则num--,若num=0,再更新last,则最后last的值一定是我们要的值。

class Gift {
public:int getValue(vector<int> gifts, int n) {// write code hereint num=0,last;for(int i=0;i<n;i++){if(num==0){last=gifts[i];num=1;}else{if(last==gifts[i])num++;elsenum--;}}int size=0;for(int i=0;i<n;i++){if(last==gifts[i])size++;}return size>n/2?last:0;}
};

腾讯历届笔试题(1)相关推荐

  1. C语言单链表实现FCFS算法,2014腾讯实习笔试题

    2014腾讯实习笔试题 1. 关于二叉树,下面说法正确的是() A. 对于N个节点的二叉树,其高度为nlog2n; B. 一个具有1025个节点的二叉树,其高度范围在11~1025之间 C. 二叉树的 ...

  2. 2021届腾讯实习笔试题

    第一题 #include<iostream>using namespace std;void getNode(int x, int k);int main0() {int q;cin &g ...

  3. 08年朗讯(青岛)笔试题

    08年11月11日南京区朗讯(青岛)笔试题 第一部分:智力题. 1.兔子繁殖--斐波那契数列. 2.数据推理题. 3.抓球. 第二部分:技术题 一.C++ 1.写出输出结果. int main() { ...

  4. 2014腾讯实习生笔试题——define与typedef

    2014腾讯实习生笔试(广州站)第26题填空题: #define MAX_NUM 1000+1 int Temp = Max_NUM*10; 则Temp的值为( ) 答案是:1010, 由于宏定义仅仅 ...

  5. 2019腾讯实习笔试题部分记录+两次电话面试笔记

    第一题:有n层的一座塔,跳塔 有n层的一座塔,每层高度不一样,现在小Q去爬塔,有如下特性:他爬塔的速度恒定,也就是说爬每一层的用时和这一层的高度成正比.但是他有一个能力:他可以有一种魔法,这个魔法可以 ...

  6. 快手腾讯校招笔试题最长回文子序

    腾讯2017 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串.如何删除才能使得回文串最长呢? 输出需要删除的字符个数. 输入描述: 输入数据有多组,每组包含一个字符串s,且保证:1 ...

  7. 网易历届笔试题(1)

    题目描述 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料.为了让问题简单,我们用正整数表示不同颜色的颜料.你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能 ...

  8. 腾讯校招笔试题之纸牌游戏

    题目 牛牛和羊羊正在玩一个纸牌游戏.这个游戏一共有n张纸牌, 第i张纸牌上写着数字ai. 牛牛和羊羊轮流抽牌, 牛牛先抽, 每次抽牌他们可以从纸牌堆中任意选择一张抽出, 直到纸牌被抽完. 他们的得分等 ...

  9. 牛客网-4 腾讯2016笔试题

    30 小明设计了如下的学籍管理系统: 已知关系:学籍(学号,学生姓名) PK=学号 成绩(科目号,成绩,学号) PK=科目代码,FK=学号 已有表记录如下,请给出能够插入的成绩记录 正确答案: B D ...

  10. 字节跳动历届笔试题(3)

    题目描述 [编码题]字符串S由小写字母构成,长度为n.定义一种操作,每次都可以挑选字符串中任意的两个相邻字母进行交换.询问在至多交换m次之后,字符串中最多有多少个连续的位置上的字母相同? 输入描述: ...

最新文章

  1. 7 Papers Radios | GCN大佬公开博士论文;谷歌提出扩展型BERT架构
  2. 我的职业规划是什么呢?什么都要写写画画才行
  3. ansible(1)——安装
  4. Envoy Proxy构建控制平面指南
  5. spark 提交至yarn异常超时 Client cannot authenticate via:[TOKEN, KERBEROS]
  6. 查询字段是date类型的数据
  7. 【Hadoop】HDFS数据复制
  8. 浅谈js与jq给新增元素动态绑定事件(事件委托)
  9. 计算从1970年到现在累计的秒数
  10. ubuntu opencv 安装
  11. matlab仿真高尔顿正态分布源码,童年趣话:从弹珠台到高斯分布
  12. 安装loadrunner11的时候提示'命令行选项语法错误。键入命令 / ?’ 怎么办
  13. bartender打印错误
  14. File.createTempFile创建临时文件
  15. 【Nginx 快速入门】反向代理、负载均衡、动静分离
  16. 服务器发布Java jar包
  17. Apollo 3.0代码浅析(一)
  18. RabbitMQ(13)RabbitMQ高级特性:TTL
  19. 股票指标RSI背离检测程序,附代码
  20. 嘀嘀快的微信支付宝打群架,司机乘客乐开花

热门文章

  1. 老电脑可以安装win11系统吗
  2. 用PQ硬盘分区魔术师处理磁盘时务必先卸载掉360相关软件
  3. 2021届校招求职计划、总结
  4. 绘制IRB1200机器人工作空间
  5. 资管过程日报指标异常分析
  6. 2013年12月新四六级翻译相关词汇汇总
  7. 大白菜u盘装win10步骤图解
  8. 2021充电必备:推荐一些免费的电子书网站及TXT阅读器
  9. 安卓温升thermal介绍
  10. 进度猫带你来了解,一个优秀的管理者都有哪些准则