題目描述
陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為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,儲...