zoukankan      html  css  js  c++  java
  • LeetCode 24.找出数组中出现次数大于二分之一数组长度的数

    题目描述

    难度:简单

    给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

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

    示例 1:

    输入: [3,2,3]
    输出: 3


    示例 2:

    输入: [2,2,1,1,1,2,2]
    输出: 2

    解题思路

    用一个map,遍历数组,如果map中存在以这个数字的key,将该key对应的value值加1

    如果不存在,则以这个数字为key,以1为value值。

    代码如下

    class Solution {
     public int majorityElement(int[] nums) {
            Map<Integer, Integer> map=new HashMap<Integer, Integer>();
            int majority=(nums.length+1)/2;
            for (int i = 0; i < nums.length; i++) {
                if (map.containsKey(nums[i])) {
                    map.put(nums[i], map.get(nums[i])+1);
                    
                }else {
                    map.put(nums[i], 1);
                }
                if (map.get(nums[i])>=majority) {
                    return nums[i];
                }
                
            }
            return 0;
    
        }
    }
  • 相关阅读:
    mysql内置函数
    phpmyadmin 安装
    java 命令行JDBC连接Mysql
    数据库工具
    java JDBC
    mysql 各种关系代数的使用
    恢复误删的DB table数据
    eclipse php pdt插件安装
    mysql通配符使用
    关系代数和sql语句对应关系
  • 原文地址:https://www.cnblogs.com/Transkai/p/12488704.html
Copyright © 2011-2022 走看看