首页 > 其他分享 >26. 删除有序数组中的重复项

26. 删除有序数组中的重复项

时间:2024-03-15 11:14:28浏览次数:22  
标签:26 删除 nums int 元素 数组

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

class Solution {
    public int removeDuplicates(int[] nums) {
        if (nums == null || nums.length == 0) {
            return 0;
        }

        int i = 0, j = 0;

        while (j < nums.length) {
            if (nums[i] != nums[j]) {
                nums[++i] = nums[j];
            }
            j++;
        }
        return i + 1;
    }
}

标签:26,删除,nums,int,元素,数组
From: https://www.cnblogs.com/tianyiya/p/18074980

相关文章

  • 稀疏数组与二维数组之间的转换
    稀疏数组介绍:稀疏数组:当一个数组中大部分元素为同一个值时,就可以考虑使用稀疏数组来保存数据节省空间。稀疏数组的原理:1)稀疏数组一共三列,第一行的第一列保存原二维数组的行数,第一行第二列保存原二维数组的列数,第一行第三列保存原二维数组非0数据的个数;2)稀疏数组一共有【原二维......
  • 在 Android 上恢复已删除文件的 5 种简单方法
    您可能会因为意外删除、未完成的Android更新、手机意外关机等原因而丢失Android上的重要数据。新技术的发展使许多手机功能或程序能够从内部恢复丢失的数据。在Android上恢复已删除文件的5种简单方法然而恢复成功率的不确定性也成为人们克服数据丢失困境的重要考虑......
  • 【算法】二分查找——在排序数组中查找元素的第一个和最后一个位置
    leetcode链接题目描述给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。示例1:输入:nums=[5,......
  • 树状数组
    树状数组简介树状数组维护信息的类型:树状数组一般用来维护可差分的信息比如:累加和、累加乘或者出题人出了某个可差分的信息不可差分的信息:比如最大值、最小值不可差分的信息一般不用树状数组来维护,而会选择线段树来维护,因为线段树维护的思考难度低大多数情况下,线段树可以......
  • 一维数组_校门外的树
    任务描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表......
  • LeetCode题练习与总结:搜索旋转排序数组
    一、题目整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使数组变为[nums[k],nums[k+1],...,nums[n-1],nums[0],nums[1],...,nums[k-1]](下标从0开始计数)。例如,[0,1,2,4,5,6,7]......
  • 数组练习-小习题
    多个字符从两端开始移动,向中间汇聚输出,例如:打印Hello,word!第一个打印出来H(左一),然后打印!(右一),接着e(右二),下面是d(左二).......依次打印,这里介绍一个关键字:strlen(),用来测量字符串的长度,注意字符串如果带有"\0",strlen是不计算\0的,只计算\0之前的字符数。system(“cls”):清理屏幕。#i......
  • LeetCode题练习与总结:在排序数组中查找元素的第一个和最后一个位置
    一、题目给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回 [-1,-1]。你必须设计并实现时间复杂度为 O(logn) 的算法解决此问题。二、解题思路1.查找起始位置:使......
  • lc2035 将数组分成两个数组并最小化数组和的差
    给你一个长度为2n的整数数组,需要将它分成两个长度为n的数组,分别求出两个数组的和,并最小化两个数组和之差的绝对值。nums中每个元素都需要放入两个数组之一,求最小的数组和之差。1<=n<=15;-1E7<=nums[i]<=1E7直接暴搜的话最坏时间复杂度是O(2^30),会TLE,可以使用双向dfs优化,每次df......
  • day-19 合并后数组中的最大元素
    思路:从后向前遍历数组,用tans记录每一种可能的最大值,ans为实际最大值。注意:若ans==0,返回nums[0]要用longcodeclassSolution{publiclongmaxArrayValue(int[]nums){longans=0;longtans=0;booleanflag=true;for(in......