LintCode问题图解-7

本文准备讲解1个简单的算法编程问题, 这个算法编程问题来自LintCode平台。不了解.LintCode平台的读者可以阅读笔者文章(在线编程平台推荐-LeetCode)。问题的英文版本描述如下:

Majority Number 3 :

Given an array of integers and a number k, the majority number is the number that occurs more than 1/k of the size of the array.

Find it.

Notice

There is only one majority number in the array.

Example

Given[3,1,2,3,2,3,3,4,4,4] and k=3, return3.

问题的中文版本描述:

多数元素3

给定一个整数数组,找到多数元素,它的数组出现次数严格大于数组元素总数的1/k

Notice

数组中只有唯一的多数元素

Example

给出数组[3,1,2,3,2,3,3,4,4,4],和 k =3,返回 3

标准的算法需要处理2个问题:统计每个元素在数组中出现的次数,寻找出现次数达到要求的元素。统计每个元素在数组中出现的次数需要使用 HashMap。


LintCode问题图解-7_第1张图片
标准的算法

你可能感兴趣的:(LintCode问题图解-7)