我是靠谱客的博主 着急墨镜,最近开发中收集的这篇文章主要介绍算法训练|移出元素,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
思路:使用双指针,首先让两个指针同步移动,当val!=nums[fastindex]的时候,slowindex和fastindex是同步移动,这样在后面的时候就可以达到模拟“删除元素”的效果,因为当val==nums[fastindex]的时候,fastindex是移动的,而slowindex是不移动的,两者之间元素就会在val!=nums[fastindex]的时候通过同步移动来“删除”。

class Solution {
    public int removeElement(int[] nums, int val) {
        int slowIndex = 0; 
        for (int fastIndex = 0; fastIndex < nums.length; fastIndex++) {  
            if (val != nums[fastIndex]) { 
                //当val!=nums[fastIndex]的时候,slowIndex和fastIndex是同步移动的
                nums[slowIndex++] = nums[fastIndex]; 
            }
            //当val==nums[fastIndex]的时候,fastIndex移动,但是slowIndex不移动
        }
        return slowIndex;
    }
}

在这里插入图片描述

最后

以上就是着急墨镜为你收集整理的算法训练|移出元素的全部内容,希望文章能够帮你解决算法训练|移出元素所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部