Giả sử 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, trả về -1. Yêu cầu làm trong không gian hằng số (không dùng bộ nhớ phụ).
Do đó, hãy viết giải pháp. Chúng ta sẽ dùng vòng lặp for duyệt mảng và dùng phương thức Array.prototype.lastIndexOf() để kiểm tra trùng lặp.
Ví dụ
Dưới đây là đoạn code:
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)); // 1Kết quả
Đoạn code sẽ in ra console:
1