博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 169. 多数元素
阅读量:2058 次
发布时间:2019-04-29

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

题目

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1:输入:[3,2,3]输出:3示例 2:输入:[2,2,1,1,1,2,2]输出:2 进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。

解题思路

位运算

代码

class Solution {
public int majorityElement(int[] num) {
int major = num[0]; int count = 1; for (int i = 1; i < num.length; i++) {
if (count == 0) {
//前面都消完了,在重新赋值 count++; major = num[i]; } else if (major == num[i]) {
//自己人,count就加1 count++; } else {
//不是自己人就同归于尽,消掉一个 count--; } } return major; }}

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

你可能感兴趣的文章
sublime text3 快捷键修改
查看>>
计算机底层是什么东西?
查看>>
关于PHP几点建议
查看>>
硬盘的接口、协议
查看>>
安装系统之一 U盘启动盘制作
查看>>
安装系统之二 U盘启动盘制作---UEFI版
查看>>
安装系统之四 U盘装GHOST XP教程
查看>>
安装系统之五 U盘装原版XP教程
查看>>
安装系统之六 U盘装GHOST WIN7教程
查看>>
安装系统之八 U盘装GHOST WIN8教程
查看>>
安装系统之九 U盘装原版WIN8教程
查看>>
安装系统之三 U盘启动盘建立磁盘分区教程
查看>>
系统安装之十 U盘安装原版win10
查看>>
安装系统之十一 UEFI和Legacy及UEFI+Legacy启动的区别
查看>>
树莓派屏幕---------Android手机作为树莓派的屏幕
查看>>
嵌入式 知识点 积累 (一)
查看>>
嵌入式 知识积累 (二) 之 三个学习阶段
查看>>
嵌入式 知识积累(三) 之 基本技能
查看>>
嵌入式 知识积累(四) 之 硬件开发的基本过程
查看>>
嵌入式 知识积累(五)之硬件工程师具备基本技能
查看>>