首页 > 其他分享 >快慢指针-leetcode-26

快慢指针-leetcode-26

时间:2023-04-04 10:46:53浏览次数:41  
标签:26 nums int 数组 长度 leetcode 指针

题目描述:

给定一个已经排序好的数组,删除重复的元素,使每个元素只出现一次,并返回新的数组长度。

不要为另一个数组分配额外的空间,必须采用 O(1) 额外内存复杂度的原地算法来解决这个问题。

示例 1:

输入: nums = [1, 1, 2]

输出: length=2, nums=[1,2]

解释: 函数应该返回新的长度2,并且原数组nums的前两个元素被修改为1, 2。 不需要在乎我们返回新数

组的长度,因为答案只是你应该在新的长度范围内输出新数组。

示例 2:

输入: nums = [0,0,1,1,1,2,2,3,3,4]

输出: length=5, nums=[0,1,2,3,4]

解释: 函数应该返回新的长度5、并且原数组nums的前五个元素被修改为0, 1, 2, 3, 和 4。 不能保留超过零

个重复项数字的数组,换句话说,对于nums中的重复项只出现一次的数字,将其不重复地填入新数组。

思路:快慢指针


//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public int removeDuplicates(int[] nums) {

        int slow = 0;
        int fast = 0;
        while(fast<nums.length){
            if(nums[fast]!=nums[slow]){
                slow++;
                nums[slow]=nums[fast];
            }
            fast++;
        }
        return ++slow;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

标签:26,nums,int,数组,长度,leetcode,指针
From: https://www.cnblogs.com/xiaoshahai/p/17285608.html

相关文章

  • 最长连续序列(并查集、数组)、复原 IP 地址(字符串、回溯)、删除链表的倒数第 N 个结
    最长连续序列(并查集、数组)给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)__的算法解决此问题。示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长度为4......
  • #yyds干货盘点# LeetCode程序员面试金典:三数之和
    题目:给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。  示例1:输入:nums=[-1,0,1,2,-1,-4]输......
  • #yyds干货盘点# LeetCode面试题:加一
    1.简述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储单个数字。你可以假设除了整数0之外,这个整数不会以零开头。 示例 1:输入:digits=[1,2,3]输出:[1,2,4]解释:输入数组表示数字123。示例 2:输入:digit......
  • 力扣26-2023.4.3
    力扣26-2023.4.3问题26.删除有序数组中的重复项方法思路:遍历数组,若后一个和前一个相同,则继续下一个;若后一个与前一个不同,则直接赋值。C++程序:#include<iostream>#include<vector>usingnamespacestd;intremoveDuplicates(vector<int>&nums){/*......
  • C语言逆向——指针
    指针类型在C语言里面指针是一种数据类型,是给编译看的,也就是说指针与int、char、数组、结构体是平级的,都是一个类型。带"*"号的变量我们称之为指针类型,例如:char*x;short*y;int*a;float*b;...任何类型都可以带这个符号,格式就是:类型*名称;星号可以是多个。指针变量......
  • [Leetcode Weekly Contest]339
    链接:LeetCode[Leetcode]2609.最长平衡子字符串给你一个仅由0和1组成的二进制字符串s。如果子字符串中所有的0都在1之前且其中0的数量等于1的数量,则认为s的这个子字符串是平衡子字符串。请注意,空子字符串也视作平衡子字符串。返回s中最长的平衡子字符串......
  • 「动态规划」LeetCode 70(爬楼梯)
    Leetcode70题有人问我:烤冷面你这两周怎么总搞简单题?我想说:一步一步来~题干简述给定:假设你正在爬楼梯,需要爬n阶你才能到达楼顶。每次你可以爬1或2个台阶。要求:计算出有多少种爬楼梯的方式。解题思路如果我们缩小视野(把大问题化为小问题),爬到第n阶台阶有两种方式:......
  • 「动态规划」LeetCode 70(爬楼梯)
    Leetcode70题有人问我:烤冷面你这两周怎么总搞简单题?我想说:一步一步来~题干简述给定:假设你正在爬楼梯,需要爬n阶你才能到达楼顶。每次你可以爬1或2个台阶。要求:计算出有多少种爬楼梯的方式。解题思路如果我们缩小视野(把大问题化为小问题),爬到第n阶台阶有两种方式:......
  • LIVE555再学习 -- testH264VideoStreamer 源码分析
    上一篇文章我们已经讲了一部分:testH264VideoStreamer重复从H.264基本流视频文件(名为“test.264”)中读取,并使用RTP多播进行流式传输。 该程序还具有内置的RTSP服务器。Apple的“QuickTime播放器”可用于接收和播放此音频流。要使用它,让玩家打开会话的“rtsp://”URL(程序在......
  • IDEA Spring-boot 使用@Component注解的工具类,用@Autowired注入 @Service或者@Reposit
    IDEASpring-boot使用@Component注解的工具类,用@Autowired注入@Service或者@Repository会空指针(使用@PostContruct)原文链接:https://blog.csdn.net/ld_secret/article/details/104627597/使用idea编译器时,对于spring-boot的项目,大都使用注解,那么:一、现象:@Component标注的U......