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

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

时间:2023-09-12 12:23:01浏览次数:38  
标签:26 删除 nums int 元素 数组 removeDuplicates Leetcode

题目描述

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

双指针

Python 实现

def removeDuplicates(nums: List[int]) -> int:
    j = 0
    for i in range(len(nums)):
        if nums[j] != nums[i]:
            j += 1
            nums[j] = nums[i]
    return j + 1

Java 实现

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

 

标签:26,删除,nums,int,元素,数组,removeDuplicates,Leetcode
From: https://www.cnblogs.com/wdh01/p/17660654.html

相关文章

  • Golang 错误处理丶数组丶切片丶随机数
    一.错误处理1//错误处理2functestError(){3errorExec:=func(){4err:=recover()//recover是内置函数,可以捕获异常5iferr!=nil{//说明捕获到错误6fmt.Println("err=",err)7}8}9err......
  • LeetCode523——连续的子数组和
    给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x=n*k ,则称 x 是 ......
  • LeetCode59.螺旋矩阵II
    LeetCode59.螺旋矩阵IIhttps://leetcode.cn/problems/spiral-matrix-ii/学习内容螺旋矩阵题,就是给你一个矩阵的长度n,去返回一个螺旋表示的二维数组。如n=3时,返回的二维数组为:123894765解题的关键点,是考虑边界上的点怎么处理,通过遍历圈数+遍历每个边来输出二维数组。当每次转圈时......
  • 求数组中第三大的数
    //1.从数组中找出第三大的数,例如{10,10,9,9,8,8,7,7}第三大的数是8publicclassThirdLargestNumber{publicstaticvoidmain(String[]args){int[]nums={10,10,9,9,8,8,7,7};intthirdLargest=findThirdLargest(nums);System.......
  • #yyds干货盘点# LeetCode程序员面试金典:基本计算器 II
    题目:给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。你可以假设给定的表达式总是有效的。所有中间结果将在 [-231,231 -1] 的范围内。注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval() 。 示例1:输入:s=......
  • #yyds干货盘点# LeetCode程序员面试金典:字符串相加
    1.简述:给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。 示例1:输入:num1="11",num2="123"输出:"134"示例2:输入:num1="456",num2=......
  • 剑指 Offer 66. 构建乘积数组
    题目链接:剑指Offer66.构建乘积数组题目描述:**给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B[i]的值是数组A中除了下标i以外的元素的积,**即B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。解法思路:代码:funcconstructArr(a[......
  • 实现数组去重的七种方法
    1.方法一:利用两层循环+数组的splice方法通过两层循环对数组元素进行逐一比较,然后通过splice方法来删除重复的元素。此方法对NaN是无法进行去重的,因为进行比较时NaN!==NaN。letarr=[1,2,2,'abc','abc',true,true,false,false,undefined,undefined,NaN,NaN]functi......
  • 浅谈Apache Shiro CVE-2023-22602
    一、漏洞描述  ApacheShiro是一个可执行身份验证、授权、加密和会话管理的Java安全框架。  由于1.11.0及之前版本的Shiro只兼容Spring的ant-style路径匹配模式(patternmatching),且2.6及之后版本的SpringBoot将SpringMVC处理请求的路径匹配模式从AntPathMat......
  • LeetCode 53. 最大子数组和
    最大子数组和(medium)题目链接:53.最大子数组和题目描述:给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的......