LeetCode 多数元素
解法一:将所有元素放入HashMap中,利用HashMap中的键的唯一性,将重复元素对应的值value+1,当获取到全部元素后,遍历HashMap的键获取出最符合条件的那一个元素 public static int majorityElement1 ( int [ ] nums ) { //key为nums元素, value为元素的个数 Map < Integer , Integer > map = new HashMap < Integer , Integer > ( ) ; for ( int num : nums ) { if ( map . get ( num ) != null ) { //包含这个元素,给 value值加1 map . put ( num , map . get ( num ) + 1 ) ; } else { map . put ( num , 1 ) ; } } //获取value最大的元素 for ( Integer key : map . keySet ( ) ) { if ( map . get ( key ) > ( nums . length / 2 ) ) { return key ; } } return - 1 ; } 解法二:剔除元素法, 设置两个变量,1 是数组的多数元素候选 numH,并将其初始化为数组的第一个元素,2