美文网首页
主要元素

主要元素

作者: WAI_f | 来源:发表于2020-06-06 00:08 被阅读0次

题目:

数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。

示例:

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

解题方法:

经常出现类似的题目,都是求出现次数的,以前的做法就是开一个数组,数组的索引就是要统计的数字,数组值用来统计数字出现次数,但是这样也有一个问题,就是需要知道数字的范围,或者说数字范围不能太大,所以字符串类问题经常用这个方法,对于数字就不是很好处理了。
但是我还是不太想放弃,想到了用map,但是怎么用一直搞不清楚,因为不知道怎么统计数字出现次数,看了题解以后,大致明白了,关键点就是map会自动初始化value。虽然最后的运行效果只能说一般,但是这个方法还是在刷题中有很多机会用到的。

代码和结果:

class Solution {
public:
    int majorityElement(vector<int>& nums) {
        map<int,int> ans;
        for(int i=0;i<nums.size();i++)
        {
            ans[nums[i]]++;
        }
        for(map<int,int>::iterator mlt=ans.begin();mlt!=ans.end();mlt++)
        {
            if(mlt->second>nums.size()/2)
            {
                return mlt->first;
            }
        }
        return -1;
    }
};
运行结果:

原题链接:https://leetcode-cn.com/problems/find-majority-element-lcci/

相关文章

  • 主要元素

    继续算法 题目:如果数组中多一半的数都是同一个,则称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回...

  • 主要元素

    题目: 数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。 示例: 输...

  • 找出主要元素

    题目: leetcode169给出一个size为n的数组,找出主要元素,即出现次数超过n/2次的元素 思路一: 用...

  • 寻找主要元素

    今天写算法作业,遇到了和《数据结构与算法分析—C语言描述》2.19类似的题。分享一下自己的想法。 原题如下: 大小...

  • LeetCode 主要元素

    数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。 示例 1: 示例 ...

  • 影响皮肤的主要元素

    一、精神 一个人的面貌是否容光焕发是看这个人的精神如何,个人心理状态不好不仅仅会导致身体疾病的产生也容易导致皮肤痤...

  • LeetCode刷题-主要元素

    前言说明 算法学习,日常刷题记录。 题目连接 主要元素[https://leetcode-cn.com/probl...

  • 游戏是生命的主要元素

    这几天我在看劳伦斯.科恩的《游戏力》,一打开书就读下去不想停,有些相见恨晚的感觉。书的副标题是“笑声,激活孩...

  • 游戏是生命的主要元素

    还记得孩子在襁褓中对你甜蜜的凝视吗? 还记得他蹒跚学步时,摇晃着扑向你怀里的情景吗? 还记...

  • 网页设计原则-页面主要元素

    站点ID 要让站点ID保持在最醒目的位置,往往是左上角。这样做可以让用户知道我还在这个网站。 页面名称 页面名称就...

网友评论

      本文标题:主要元素

      本文链接:https://www.haomeiwen.com/subject/sziizhtx.html