陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列**現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。
第一種是新建乙個空物件來儲存陣列中數字出現的次數;遍歷該,如果該數字出現過,則obj中以該數字為key的value加1;若該數字未出現過,則obj中以該數字為key的value設為1;遍歷obj物件,返回value大於陣列長度一半的key,即為所求數字。
第二種是對該陣列進行排序,用sort,然後求中位數。但是在提交的時候,如果有9個數字,但是只出現了4次,那也會返回,所以這個方法並不能通過所有測試用例。
function
morethanhalfnum_solution
(numbers)
;var len = numbers.length;
numbers.
foreach
(function
(s)else})
for(
var i in obj)
}return0;
}//第二種(不能通過所有測試用例)
function
morethanhalfnum_solution
(numbers)
else
}
陣列中超過一半的數字
陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。思路 定義乙個變數儲存當前元素,乙個計數器儲存次數,若次數等於0,則重新取字元。若次數大於零,遇到相同字元計數器 1,不同字元計...
陣列中數字超過一半的數字
題目描述 陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列 現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。1,利用hashmap 2,利用陣列排序 3,列舉法 暴力演算法 public class 陣列中數字超過一半的數字 e...
輸出陣列中超過一半次數的數字
題目 陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。思路 遍歷陣列,儲存兩個值 陣列中的數字和次數。遍歷下乙個數字是,若與儲存的數字相同,次數 1,不同則 1 若次數為0,儲...