数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。

你可以假设数组是非空的,并且给定的数组总是存在多数元素。

示例 1:

输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
输出: 2

代码:

class Solution {

public int majorityElement(int[] nums) {

if(nums.length==0)

{

return 0;

}

int result = nums[0];

int count=0;

for(int i=0;i<nums.length;i++)

{

if(count==0&&i!=0)

{

result = nums[i];

}

if(nums[i]==result)

{

count++;

}

else

{

count--;

}

}

return result;

}

}

【剑指offer】面试题39:数组中出现次数超过一半的数字相关推荐

  1. 剑指offer面试题39. 数组中出现次数超过一半的数字(数组)(摩尔投票法)

    题目描述 **数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 你可以假设数组是非空的,并且给定的数组总是存在多数元素.** 思路 详见链接 代码 class Solution:def ...

  2. 剑指offer面试题[29]-数组中出现次数超过一半的数字

    题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...

  3. 【剑指Offer】28、数组中出现次数超过一半的数字

      题目描述:   数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.   例如:输入如下所示的一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过 ...

  4. 剑指offer:面试题39. 数组中出现次数超过一半的数字

    题目:面试题39. 数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 你可以假设数组是非空的,并且给定的数组总是存在多数元素. 示例 1: 输入: [1, ...

  5. 【剑指offer-Java版】29数组中出现次数超过一半的数字

    数组中出现次数超过一半的数字 两种思路: 思路一:由于出现次数超过一半,所以如果对这个数组进行划分之后无论如何,位于数组下标 n/2的数字就是出现次数超过一半的数 所以问题就转换为了求划分一次之后 位 ...

  6. 【LeetCode】剑指 Offer 39. 数组中出现次数超过一半的数字

    [LeetCode]剑指 Offer 39. 数组中出现次数超过一半的数字 文章目录 [LeetCode]剑指 Offer 39. 数组中出现次数超过一半的数字 一.摩尔投票法 一.摩尔投票法 核心理 ...

  7. 剑指 Offer 39. 数组中出现次数超过一半的数字

    剑指 Offer 39. 数组中出现次数超过一半的数字https://leetcode.cn/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban ...

  8. 剑指offer面试题[40]-数组中只出现一次的数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 注意原题目要求空间复杂度为0(1). 位运算的具体思路可以参看剑指offer. class So ...

  9. 剑指Offer - 面试题3. 数组中重复的数字(哈希)

    1. 题目 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组 ...

  10. 剑指offer 面试题03. 数组中重复的数字

    找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重 ...

最新文章

  1. 点石关键词排名优化软件_关键词点击排名优化
  2. Can't read [proguard.ClassPathEntry@1a0c10f] (No such file or directory)
  3. 一套代码小程序WebNative运行的探索02
  4. solaris 10 安装oracle 10g
  5. 20164319 刘蕴哲 Exp9 Web安全基础
  6. Linux学习笔记4-CentOS7中redis3.2.9安装教程
  7. 双端堆c语言,数据结构——双端堆(C语言)
  8. java修改默认字符编码_设置默认的Java字符编码?
  9. java实现从键盘上输入学生考试的科目和学生的每科分数,输出总分、最高分、最低分、平均分
  10. 怎么用追 MM 来理解 23 种设计模式?
  11. 随机森林回归预测r语言_R包randomForest的随机森林回归模型以及对重要变量的选择...
  12. 【180629】VC++ QQ头像连连看游戏源码
  13. linux 指令安装显卡驱动,Linux 16.04 LTS 安装显卡驱动
  14. 计算机电脑键盘英语,知识整理:计算机键盘指法练习(英语+数字)
  15. 职位介绍之硬件工程师(提升宝典)
  16. 2019年新个税计算器及源代码
  17. 网络摄像视频方案整理
  18. 求集合中最大值、最小值、和
  19. cookies、sessions、token区别
  20. School English(转帖)

热门文章

  1. LeetCode 1427. 字符串的左右移
  2. 朴素贝叶斯法(Naive Bayes,NB)
  3. 数据结构--链表--LRU缓存
  4. 映射表map(平衡二叉树实现)_手动实现Java集合容器之TreeMap(上)
  5. 数据库实例:用户注册
  6. Matplotlib - 箱线图、箱型图 boxplot () 所有用法详解
  7. 吴恩达发起新型竞赛范式!模型固定,只调数据?!
  8. CVPR 2019轨迹预测竞赛冠军方法总结
  9. 论文浅尝 | 基于对抗学习的弱监督知识图谱对齐
  10. 阿里云开源EasyTransfer:业界首个面向NLP场景深度迁移学习框架