美文网首页
27 移除数组中含有目标值的元素,返回数组长度

27 移除数组中含有目标值的元素,返回数组长度

作者: wangyou2550 | 来源:发表于2018-12-16 10:55 被阅读0次

思路

和26一样,遍历数组,然后判断数组元素的值是否与目标不相等,不相等,给nums[j]==nums[i];j++,最后return j;

如果元素相等于目标值的话,nums[i]=nums[--n]

public int removeElement(int[] nums, int val) {
    int i = 0;
    int n = nums.length;
    while (i < n) {
        if (nums[i] == val) {
            nums[i] = nums[n - 1];
            // reduce array size by one
            n--;
        } else {
            i++;
        }
return n;
}

for实现上面的思路

class Solution {
    public int removeElement(int[] nums, int val) {
        int pivot = nums.length - 1;
        for (int i = 0; i <= pivot; i++) 
            if (nums[i] == val) nums[i--] = nums[pivot--];
        return pivot < 0 ? 0 : pivot + 1;
    }
}
    }
    return n;
}

相关文章

  • 27 移除数组中含有目标值的元素,返回数组长度

    思路 和26一样,遍历数组,然后判断数组元素的值是否与目标不相等,不相等,给nums[j]==nums[i];j+...

  • 27. 移除元素

    27. 移除元素 问题 给定一个数组 和一个值 ,你需要原地移除所有数值等于 的元素,返回移除后数组的新长度。 ...

  • 27. 移除元素

    27.移除元素 给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度...

  • 数组方法的使用(1)

    push() 向数组末尾添加一个或多个元素,返回修改后数组的长度; pop() 向数组末尾移除最后一个元素并返回该...

  • push 、 pop 、 shift 、 unshift

    1.push()在数组的末尾添加一个或多个元素,返回一个数组新长度 2.pop 移除数组的最后一项,返回移除的项 ...

  • 27. 移除元素

    给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 *val *的元素,返回移除后数组的新长度。...

  • 001-在一个已排序数组中原地移除重复元素

    描述 在一个已经排序的数组中,移除掉重复元素,保证每个元素只出现一次,返回移除元素后数组的长度;不可以重新生成一个...

  • 27. 移除元素

    内容 给定一个数组 nums和一个值 val,你需要原地移除所有数值等于 val的元素,返回移除后数组的新长度。 ...

  • Leetcode_27 Remove Element

    给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不...

  • 27.移除数组

    给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不...

网友评论

      本文标题:27 移除数组中含有目标值的元素,返回数组长度

      本文链接:https://www.haomeiwen.com/subject/dpptkqtx.html