午夜精品福利视频,亚洲激情专区,免费看a网站,aa毛片,亚洲色图激情小说,亚洲一级毛片,免费一级毛片一级毛片aa

LeetCode Majority Element -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.stanzs.com - 電腦資料】

    Majority Element

    Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.

    You may assume that the array is non-empty and the majority element always exist in the array.

    Credits:

    Special thanks to @ts for adding this problem and creating all test cases.

    找出出現(xiàn)次數(shù)大于數(shù)組1/2 長(zhǎng)度次的數(shù)字,

LeetCode Majority Element

。

    思路:

    本題解法很多:

    1.排序后判斷第n/2個(gè)元素與首元素是否相等

    2.哈希表

    3.每次移除兩個(gè)不等的元素

    ...

    第3種方法最快,在實(shí)際應(yīng)用中,哪種方式的時(shí)間復(fù)雜度都是可以接受的,這里的實(shí)現(xiàn)使用了第二種,即借助哈希表來完成統(tǒng)計(jì),

電腦資料

LeetCode Majority Element》(http://www.stanzs.com)。

    實(shí)現(xiàn)代碼:

   

public class Solution {    public int MajorityElement(int[] nums) {        if(nums.Length == 0){    		return 0;    	}    	    	var hash = new Dictionary<int, int="">();    	var max = 1;    	var maxKey = nums[0];    	for(var i = 0;i < nums.Length; i++){    		if(hash.ContainsKey(nums[i])){    			hash[nums[i]] ++;    			if(max < hash[nums[i]]){    				max = hash[nums[i]];    				maxKey = nums[i];    			}    		}    		else{    			hash.Add(nums[i],1);    		}    	}    	    	return maxKey;    }}</int,>

最新文章