美文网首页数据结构和算法分析程序员
lintcode 主元素(|、||、|||)

lintcode 主元素(|、||、|||)

作者: yzawyx0220 | 来源:发表于2016-12-29 10:49 被阅读36次

三道题感觉是一个题
给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的1/k。
样例
给出数组 [3,1,2,3,2,3,3,4,4,4] ,和 k = 3,返回 3
方法比较简单,首先将数组排序,然后挨个进行遍历,如果重复那么count计数加1,如果count大于数组长度的1/k返回:

class Solution {
public:
    /**
     * @param nums: A list of integers
     * @param k: As described
     * @return: The majority number
     */
    int majorityNumber(vector<int> nums, int k) {
        // write your code here
        sort(nums.begin(),nums.end());
        if (nums.size() == 1) return nums[0];
        int i = 1,count = 1;
        while (i < nums.size()) {
            if (nums[i] == nums[i-1]) {
                count++;
                if (count > nums.size()/k) return nums[i];
            }
            else count = 1;
            i++;
        }
    }
};

相关文章

  • [LintCode]主元素

    原文发表在我的博客:主元素求关注、求交流、求意见、求建议。 问题 LintCode:主元素 描述 给定一个整型数组...

  • lintcode 主元素(|、||、|||)

    三道题感觉是一个题给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的1/k。样例给出数组 [...

  • LintCode 主元素 III

    题目 给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的1/k。注意事项数组中只有唯一的主元...

  • LintCode 主元素 II

    题目 给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的三分之一。 ** 注意事项**数组中...

  • 第k大元素

    (lintcode上面的题解)第k大元素:(从小到大的排序)

  • [LintCode]删除链表中的元素

    原文发表在我的博客:删除链表中的元素求关注、求交流、求意见、求建议。 问题 LintCode:删除链表中的元素 描...

  • 快速排序

    思想 确定主元素,利用主元素进行数组划分,小于主元素的元素在主元素左边,大于主元素的在右边,利用递归排序。这里用到...

  • 主元素

    碎花成群绮丽如诗旖旎从风 源自于琐碎用不逊色求证碎花裙拼凑了人间色彩谁的谁一阵风,一场梦

  • lintcode 第k大元素

    这道题不知道是不是自己偷了懒,用sort按升序排列,直接上代码

  • 算法 - 数组主元素(出现次数超过一半的元素)

    题目: 整数数组,包含n个元素 主元素 - 某个元素出现次数 > n/2 是否存在主元素 找出主元素 举个例子 数...

网友评论

    本文标题:lintcode 主元素(|、||、|||)

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