leetcode 26. Remove Duplicates from Sorted Array-数组去重|双指针

来源:互联网 发布:mac版的千牛可以多开吗 编辑:程序博客网 时间:2024/04/30 11:50
原题链接:26. Remove Duplicates from Sorted Array
【思路】
和27. Remove Element | Java最短代码实现十分类似,用 len,记录第几个可以被覆盖(也即要返回的长度),这里只是将 val 改为 nums 数组中的某个值,当值不相等时,即覆盖:
    public int removeDuplicates(int[] nums) {        int len = 1;        for (int i = 1; i < nums.length; i++)            if (nums[i] != nums[i - 1]) nums[len++] = nums[i];        return len;    }
161 / 161 test cases passed. Runtime: 2 ms  Your runtime beats 7.99% of javasubmissions.

public class Solution {    public int removeDuplicates(int[] nums) {        int slow = 0, fast = 1;        for (int i=1; i < nums.length; i++,fast++) {            if (nums[i]==nums[i-1]) continue;            nums[++slow] = nums[fast];        }        return slow+1;    }}
161 / 161 test cases passed. Runtime: 1 ms  Your runtime beats 54.30% of javasubmissions.

1 0
原创粉丝点击