专栏首页赵俊的Java专栏LeetCode 26 Remove Duplicates from Sorted Array

LeetCode 26 Remove Duplicates from Sorted Array

题意

给定一个有序的 int 数组,使每个元素只出现一次,并返回新的长度。要求在原数组修改,即 O(1) 的空间复杂度。

解法

从头开始获取不重复的元素,依次填充到数组的前几位,并返回不重复的元素个数。

class Solution {
    public int removeDuplicates(int[] nums) {
        int k = 0;
        for (int i = 1; i < nums.length; i++) {
            if (nums[i] != nums[k]) {
                nums[++k] = nums[i];
            }
        }
        return k+1;
    }
}

Runtime: 7 ms, faster than 82.95% of Java online submissions for Remove Duplicates from Sorted Array.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 删除排序数组中的重复数字Ⅱ

    一份执着✘
  • 恢复旋转排序数组

    一份执着✘
  • 删除排序数组中的重复数字

    一份执着✘
  • 十大经典排序算法整理汇总(附代码)

    本文整理并总结了十大经典的排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序、计数排序、基数排序、桶排序、堆排序)的时间复杂度、空间复杂度等性...

    godweiyang
  • 漫画:从赌神梭哈中衍化而来的算法面试题

    拿到题目的小伙伴,可能觉得“我次奥”,这特么也能出一道题 ?不得不说《贱止offer》,嗯....不错!

    程序员小浩
  • LeetCode题组:第26题-删除排序数组中的重复项

    给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。(注意这里提到了排序数组,也就是说数组是有序的。如果无序,...

    明天依旧可好
  • leetcode410. Split Array Largest Sum

    将一个长度为n的正整数数组分割为m个非空的连续子数组,并分别计算每个子数组中所有元素的和。求一种分割方式,使得该分割方式生成的最大子数组和为所有分割方式中最小的...

    眯眯眼的猫头鹰
  • Dimple在左耳听风ARTS打卡(第九期)

    所谓ARTS: 每周至少做一个LeetCode的算法题;阅读并点评至少一篇英文技术文章;学习至少一个技术技巧;分享一篇有观点和思考的技术文章。(也就是Algor...

    程序员小跃
  • Leetcode 189. Rotate Array

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn....

    Tyan
  • 图解插入排序

    上面的算法的缺点:在第i-1趟插入时,需要把第i个元素插入到前面的i-1个元素中,该算法总是从i-1个元素开始逐个比较之前的每个元素,直到找到第i个元素的插入位...

    CoderJed

扫码关注云+社区

领取腾讯云代金券