понимание кода для удаления дубликатов - PullRequest
0 голосов
/ 31 марта 2020

Извините, если это глупый вопрос, но у меня возникли проблемы с обдумыванием того, почему этот код работает для удаления дубликатов.

var removeDuplicates = function(nums) {
    if (!nums.length) return 0
    let j = 0;
    for (let i=0; i< nums.length; i++) {
       if ( nums[i] !== nums[j] ) {
           j++;
           nums[j] = nums[i]
       }
    }
    return j + 1
};

Я играю на leetcode, и это был мой ответ.

var removeDuplicates = function(nums) {
    let isDuplicates = true
    let counter = 0
    while (isDuplicates) {
        isDuplicates = false
        for (let i=0; i<= nums.length - counter; i++){
            helper(nums, i, i+1)
            isDuplicates = true
        }
        counter++ 
    }
    return nums.length
};
function helper(array, i, j){
if (array[i] === array[j]) array.splice(i, 1);

}

Я наткнулся на первый код, просматривающий другие решения, я пытаюсь улучшить и получить asp детали. Я понимаю, что мой помощник, вероятно, не оптимален, но я играю и учусь. Спасибо за все время!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...