首页 > 其他分享 >双指针

双指针

时间:2022-11-08 11:36:29浏览次数:65  
标签:删除 nums 元素 原地 数组 var 指针

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

由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。

将最终结果插入 nums 的前 k 个位置后返回 k 。

不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/

 

 

/**
 * @param {number[]} nums
 * @return {number}
 */
    var removeDuplicates = function(nums) {
        //  nums.sort();
        var sl = 0
        for(var fa=0;fa<nums.length;fa++){
            if(nums[sl]!=nums[fa]) {
                sl++
                nums[sl] = nums[fa]
            }
        }
        return sl+1
    };

 

 

80. 删除有序数组中的重复项 II     中等     741     相关企业

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。

不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

 

说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

 

var removeDuplicates = function(nums) {
   var l =nums.length
   if(l<=2) return l 
   var sl  =2
   for(var fa=2;fa<l;fa++){
       if(nums[sl-2]!=nums[fa]){
           nums[sl]  =nums[fa]
           sl++
       }
   }
   return sl
};

 

标签:删除,nums,元素,原地,数组,var,指针
From: https://www.cnblogs.com/tingtin/p/16869092.html

相关文章

  • 实验4 类与数组、指针
    2022.11.02OOP实验课实验4类与数组、指针任务5代码:vectorInt54.hpp#pragmaonce#include<iostream>#include<cassert>#include<iomanip>usingnamespace......
  • C++对象模型和this指针
    4.3C++对象模型和this指针this指针的本质是一个指针常量,和引用一样,不能够修改指向,但是可以修改值4.3.1成员变量和成员函数分开存储在C++中,类内的成员变量和成员函数分......
  • C++溢出对象虚函数表指针
      C++一特性是通过virtual关键字实现运行时多态,虽然自己用到这个关键字的机会不多,但很多引用的第三方库会大量使用这个关键字,比如MFC...如果某个函数由virtual关键字修......
  • 指针趣味小题
    这小段代码帮助理解下指针和对象的大小,&和*的作用#include<stdio.h>#include<iostream>#defineTElemTypeint//构造结点的结构体typedefstructBiTNode{TElemType......
  • C指针之二:c的动态内存管理
    参考书籍《深入理解c指针》原书作者:RichardReese华盛顿州塔尔顿州立大学副教授篇首语指针为什么强大?因为能够追踪动态分配的内存,通过指针来管理这部分内存是很多操作的基......
  • C指针之一:指针和内存
    参考书籍《深入理解c指针》原书作者:RichardReese华盛顿州塔尔顿州立大学副教授如果想在C/C++道路上走的更远,那么必须非常熟悉指针1、关于指针大小的谣言,指针到底多大?指......
  • C++ 悬垂指针
    /***********************************************************************//一、迷途指针(悬垂指针)在计算机编程领域中,迷途指针与野指针指的是不指向任何合法的对象的......
  • 初识指针——取地址操作符
    1.int*p表示p是一个变量,指针变量。而*p是解引用操作符,或者叫间接访问操作符。32位的操作系统输出字符类型的大小是4个字节   64位的操作系统输出字符类型的......
  • 基础算法篇——双指针算法
    基础算法篇——双指针算法本次我们介绍基础算法中的双指针算法,我们会从下面几个角度来介绍:双指针简介双指针基本使用最长连续不重复字符列数组元素的目标和判断子序......
  • C语言初级阶段7——指针1
    C语言初级阶段7——指针1地址与指针1.地址:数据在内存中的存储位置编号,是一个常量。2.指针:指针的本质就是地址。指针变量的定义和声明1.指针变量:存储的数据是地址。2.......