[LeetCode]习题3

来源:互联网 发布:怎样可以联系淘宝店主 编辑:程序博客网 时间:2024/05/16 11:56

[LeetCode]习题

首先贴上这次LeetCode题的链接https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/

根据题目的要求在一个已排序的数组中找出不同的元素的个数且不许创建新的数组,而原始数组能不能改动题目没说所以我们可以改动它。因为数组已经排序了所以我们可以使用遍历数组的方法,设定一个用于比较不同的位置,该位置与之前的位置的元素的值都不同,这样我们最后只要范围这个位置+1就是答案了。因此我们令I = 0,然后从j = 1开始遍历数组,当i位置与j位置相同时,j直接+1,当i与j位置不同时把j的位置的值赋给i+1位置上,就实现了i位置前面的值都不同。最后返回i+1就是答案。

附上代码

class Solution {    public int removeDuplicates(int[] nums) {        int i = 0;        for(int j = 1;j<nums.length;j++){            if(nums[i]!=nums[j]){                i++;                nums[i] = nums[j];            }        }        return i+1;    }}
原创粉丝点击