LintCode问题图解-7
2017-09-27 本文已影响16人
billliu_0d62
本文准备讲解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。
标准的算法