陣列中數字超過一半的數字

2021-10-04 03:32:41 字數 942 閱讀 3357

題目描述

陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列**現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。

//1,利用hashmap;2,利用陣列排序;3,列舉法(暴力演算法)

public

class 陣列中數字超過一半的數字

else

}for

(map.entry

entry : map.

entryset()

)return0;

}public

intmorethanhalfnum_solution2

(int

array)

arrays.

sort

(array)

;int mid = array[array.length/2]

;int j =0;

for(

int i : array)

}return j > array.length/

2? mid :0;

}public

intmorethanhalfnum_solution3

(int

array)

for(

int i=

0;i<=l;i++)}

if(count>helf)

count=0;

}return0;

}public

static

void

main

(string[

] args)

;

system.out.

println

(m.morethanhalfnum_solution1

(array));

}}

陣列中超過一半的數字

陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。思路 定義乙個變數儲存當前元素,乙個計數器儲存次數,若次數等於0,則重新取字元。若次數大於零,遇到相同字元計數器 1,不同字元計...

陣列中超過一半的數字 js

陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列 現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。第一種是新建乙個空物件來儲存陣列中數字出現的次數 遍歷該,如果該數字出現過,則obj中以該數字為key的value加1 若該數字未...

輸出陣列中超過一半次數的數字

題目 陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。思路 遍歷陣列,儲存兩個值 陣列中的數字和次數。遍歷下乙個數字是,若與儲存的數字相同,次數 1,不同則 1 若次數為0,儲...