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

Phát hiện phần tử không duy nhất đầu tiên trong mảng JavaScript

Phát hiện phần tử không duy nhất đầu tiên trong mảng JavaScript

Chúng ta cần viết một hàm trả về chỉ số của phần tử đầu tiên xuất hiện ít nhất hai lần trong mảng. Nếu không có phần tử nào xuất hiện hơn một lần, chúng ta phải trả về -1. Chúng ta phải làm điều này trong không gian hằng số (tức là, không sử dụng bộ nhớ thêm).

Vậy hãy viết giải pháp cho bài toán này.

Chúng ta sẽ dùng vòng lặp for để lặp qua mảng và dùng phương thức Array.prototype.lastIndexOf() để kiểm tra sự trùng lặp.

Ví dụ

Mã thực hiện như sau:

const arr1 = [0, 1, 1, 2, 3, 4, 4, 5];
const firstRedundant = arr => {
  for(let i = 0; i < arr.length; i++){
    if(arr.lastIndexOf(arr[i]) !== i){
      return i;
    };
  };
  return -1;
}
console.log(firstRedundant(arr1)); // 1

Đầu ra

Kết quả trong console sẽ là:

1