U3d力扣基础刷题-2

移除元素

U3d力扣基础刷题-2_第1张图片

public int RemoveElement(int[] nums, int val)
    {
        
        // int j = 0;
        // for (int i = 0; i < nums.Length; i++)          
        // {
        //     if (nums[i] != val)
        //     {
        //         nums[j++] = nums[i];
        //     }
        // }
        // return j;
        
        int j=0;
        for(int i=0;i<nums.Length;i++)
        {
            if(nums[i]!=val)
            {
                j++;
                if(i!=j-1)
                {
                    nums[j-1]=nums[i];
                }
            }
        }
        return j;
    }

删除排序数组中的重复项

U3d力扣基础刷题-2_第2张图片
U3d力扣基础刷题-2_第3张图片

 public int RemoveDuplicates(int[] nums)
    {
        int j = 1;
        for (int i = 1; i < nums.Length; i++)
        {
            if (nums[i] != nums[i-1])
            {
                nums[j++] = nums[i];
            }
        }

        return j;
    }

删除排序数组中的重复项II

U3d力扣基础刷题-2_第4张图片
U3d力扣基础刷题-2_第5张图片

 public int RemoveDuplicates(int[] nums)
    {
        int index = 0;
        for (int i = 0; i < nums.Length; i++)
        {
            if (index < 2 || nums[i] != nums[index - 2])
            {
                nums[index++] = nums[i];
            }
        }

        return index;
    }

你可能感兴趣的:(算法,算法)