赞
踩
因此热内存为2
解法:
const lines = ["10", "1 2 1 2 1 2 1 2 1 2", "5"]; const lines2 = ["5", "1 2 3 4 5", "3"]; const lines3 = ["10", "2 1 2 1 2 1 2 1 2 1", "5"]; function solution(lines) { const num = parseInt(lines[0]); const arr = lines[1].split(" ").map((item) => parseInt(item)); const max = parseInt(lines[2]); const record = {}; for (let i = 0; i < arr.length; i++) { if (record[arr[i]]) { record[arr[i]] += 1; } else { record[arr[i]] = 1; } } const result = []; Object.keys(record).map((key) => { if (record[key] >= max) { result.push({ key, value: record[key], }); } }); if (result.length < 1) { return 0; } else { const sortResult = result.sort((a, b) => a.value !== b.value ? b.value - a.value : a.key.localeCompare(b.key) ); return ( sortResult.length + "\n" + sortResult.map((item) => item.key).join("\n") ); } } console.log(solution(lines)); /* 10 1 2 1 2 1 2 1 2 1 2 5 => 2 1 2 5 1 2 3 4 5 3 => 0 */
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。