Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm số lớn nhất không trùng lặp trong mảng JavaScript

Viết hàm tìm số lớn nhất chỉ xuất hiện 1 lần trong mảng (giá trị 1..100). Trả về -1 nếu không có.

Ví dụ: [35,37,33,39,34,39,38,31] → 38.

Ví dụ

const arr = [35, 37, 33, 39, 34, 39, 38, 31];
const pickGreatestUnique = (arr = [], bound = 100) => {
  const map = Array(bound).fill(0);
  for (let i = 0; i < arr.length; i++) map[arr[i] - 1]++;
  for (let j = bound - 1; j >= 0; j--)
    if (map[j] === 1) return j + 1;
  return -1;
};
console.log(pickGreatestUnique(arr));

Kết quả

38