博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指 Offer 39. 数组中出现次数超过一半的数字——摩尔投票法
阅读量:4072 次
发布时间:2019-05-25

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

数组中出现次数超过一半的数字

题目描述

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。

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

方法

在这里插入图片描述

这里主要讲解摩尔投票法。
在这里插入图片描述
在这里插入图片描述

代码

class Solution {    public int majorityElement(int[] nums) {        //摩尔计数法        int x=0,votes=0;        for(int num:nums){            if(votes==0) x=num;            votes+=(num==x)?1:-1;        }        return x;    }}

转载地址:http://ttgji.baihongyu.com/

你可能感兴趣的文章
为什么button在设置标题时要用一个方法,而不像lable一样直接用一个属性
查看>>
字符串的截取
查看>>
2. Add Two Numbers
查看>>
17. Letter Combinations of a Phone Number (DFS, String)
查看>>
93. Restore IP Addresses (DFS, String)
查看>>
19. Remove Nth Node From End of List (双指针)
查看>>
49. Group Anagrams (String, Map)
查看>>
139. Word Break (DP)
查看>>
23. Merge k Sorted Lists (Divide and conquer, Linked List) 以及java匿名内部类
查看>>
Tensorflow入门资料
查看>>
剑指_用两个栈实现队列
查看>>
剑指_顺时针打印矩阵
查看>>
剑指_栈的压入弹出序列
查看>>
剑指_复杂链表的复制
查看>>
服务器普通用户(非管理员账户)在自己目录下安装TensorFlow
查看>>
星环后台研发实习面经
查看>>
大数相乘不能用自带大数类型
查看>>
字节跳动后端开发一面
查看>>
CentOS Tensorflow 基础环境配置
查看>>
centOS7安装FTP
查看>>