[LeetCode] Majority Element

news/2024/6/17 17:10:41

Problem

Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.

You may assume that the array is non-empty and the majority element always exist in the array.

Solution

class Solution {
    public int majorityElement(int[] nums) {
        if (nums == null || nums.length == 0) return -1;
        Map<Integer, Integer> map = new HashMap<>();
        for (int num: nums) {
            if (map.containsKey(num)) {
                if (map.get(num)+1 > nums.length/2) {
                    return num;
                } else {
                    map.put(num, map.get(num)+1);
                }
            } else {
                map.put(num, 1);
            }
        }
        return -1;
    }
}

update 2018-11

class Solution {
    public int majorityElement(int[] nums) {
        int count = 0;
        int res = nums[0];
        for (int num: nums) {
            if (count == 0) {
                res = num;
                count++;
            } else if (num == res) {
                count++;
            } else {
                count--;
            }
        }
        return res;
    }
}

http://www.niftyadmin.cn/n/3368224.html

相关文章

流泪的再见

最近突然意识到我竟然忘记了父亲的生日。不知道从什么时候&#xff0c;父亲的生日是我每年一定要记住的日子&#xff1b;或许是因为没有机会给母亲过一个生日&#xff0c;父亲的生日我不能再忘记。 但是最近父亲的生日还有几天&#xff0c;我竟然忘记了该是初九还是初十&#…

office2007安装时,提示找不到Office.zh-cn下的OfficeMUI.msi解决方法

从office2003升级到office2007时&#xff0c;提示找不到Office.zh-cn下的OfficeMUI.msi&#xff0c;是由于已安装vs2008引起&#xff0c;解决方法&#xff1a;到vs2008的WCU下。把一个WebDesignerCore.exe文件解压&#xff0c;把office.zh-cn复盖office2007的文件夹转载于:http…

使程序在Linux下后台运行 (关掉终端继续让程序运行的方法)

将程序转入后台运行# nohup [执行代码区] & 如下nohup ./test.sh &终止后台进程, 首先查找进程#ps -ef | grep [关键字] 如下:ps -ef | grep test.sh ####################################root 847 1 0 11:47 ? 00:00:02 /usr/bin/python -Es /usr/sbin/tuned -l -Pr…

Flask 使用过程

被route()装饰器所装饰的functions()必须有返回值 from flask import Flask app Flask(__name__)app.route(/) def hello_world():Hello World! # 没有关键字returnif __name__ __main__:app.run() TypeError: The view function did not return a valid …

转黄金的沉默与辉煌[时寒冰]2013-04-13

我们现在该如何看待黄金&#xff1f;黄金将走向哪里&#xff1f;我们需要对它有更理性的认识。 本文将黄金分成两大块来看&#xff1a;一大块是实物黄金&#xff0c;一大块是以实物黄金为基础的各种衍生品&#xff08;黄金衍生品属于金融衍生品的一种&#xff09;。黄金市场衍生…

E-mail传送中的三种编码标准

一、编码的必要性 E&#xff0d;mail只能传送ASCII码(美国国家标准信息交换码)格式的文字信息&#xff0c;ASCII码是7位代码&#xff0c;非ASCII码格式的文件在传送过程中就需要先编成7位的ASCII代码&#xff0c;然后才能通过E&#xff0d;mail进行传送&#xff1b;如果不经过编…

MySQL 备份和恢复策略(一)

在数据库表丢失或损坏的情况下&#xff0c;备份你的数据库是很重要的。如果发生系统崩溃&#xff0c;你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。本文主要对MyISAM表做备份恢复。 备份策略一&#xff1a;直接拷贝数据库文件&#xff08;不推荐&#xff…

Petals ESB 简介

Petal ESB 是一个分布式的开源ESB解决方案&#xff0c;隶属于中间件开源国际联盟OW2。 Petal ESB 是建立在JAVA基础上的异构解决方案&#xff0c;做为一个企业服务总线ESB&#xff0c;适用于大型SOA架构。设计运行在多台分布式服务器之上并完全兼容主要工业标准包括&#xff1a…