首页 > 其他分享 >数组双指针技巧汇总 [labuladong-刷题打卡 day2]

数组双指针技巧汇总 [labuladong-刷题打卡 day2]

时间:2023-08-03 15:11:53浏览次数:41  
标签:nums int day2 fast 数组 打卡 labuladong 指针

https://labuladong.github.io/algo/challenge/ji-chu-tiao-zhan/day02/

快慢指针

26. 删除有序数组中的重复项
两个指针分别维护符合条件数组和待删除数组,当快指针移动时将符合条件元素插入已完成数组后即可。
通过这两天对双指针的练习,可以发现很多双指针算法其实也是一种迭代算法,只是通过指针特性维护不同队列、链表、数组,实现较小改动。

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.size()==0) return 0;

        int slow,fast;
        int len=nums.size();
        for(slow=0,fast=1;fast<len;fast++){
            if(nums[slow]!=nums[fast]){
                nums[++slow]=nums[fast];
            }
        }
        return slow+1;
    }
};

左右指针

在文章中介绍了很多左右指针的用法,如:二分查找,nums和回文判断,这里选择最后一个最长回文练习
5. 最长回文子串

标签:nums,int,day2,fast,数组,打卡,labuladong,指针
From: https://www.cnblogs.com/alanjiang/p/17600646.html

相关文章

  • 前缀和数组技巧 [labuladong-刷题打卡 day3]
    今天是两道前缀和,主要有一维前缀和和二维前缀和,当然扩充到高维也是可以的,只不过状态转移会相对复杂些。这里直接贴一个动态规划的介绍吧:动态规划要素动态规划概念、特点、经典例题和于其它算法思想的比较前缀和其实是备忘录自底向上动态规划算法的一个典型例子,状态转移方程:一......
  • 8.1打卡
    L1-087机工士姆斯塔迪奥#include<bits/stdc++.h>usingnamespacestd;intmain(){intN,M,Q;cin>>N>>M>>Q;intsum=0;inta[N][M];memset(a,0,sizeof(a));for(intk=1;k<=Q;k++){intT,C;cin>>T>>C......
  • 7-31打卡
    矩阵快速幂求斐波那契数列快速幂将指数n表示成二进制形式。从二进制的最低位开始遍历,如果当前位为1,则累乘底数x;否则,不进行任何操作。将底数x不断平方,并更新指数n为n的一半。重复步骤2和步骤3,直到遍历完整个二进制表示。publicclassFibonacciMatrix{publicstaticvo......
  • day20
    一、[MoeCTF2022]想听点啥1.使用MuseScore可以打开whatdoyouliketohear.mscz(查了一下是乐谱文件),在乐谱的最后可以看到由音符拼成的一段字串,提示MOECTFI1iKE是密码MOECTFI1iKE2.密码解压得到一个脚本和一个txt,简单看一下代码,就是一个flag字串,逐位异或,输出字串存到txt中,利用异......
  • 8-1打卡
    定义方式:接口:使用interface关键字定义,接口中可以包含抽象方法、默认方法(Java8及以后版本支持)、静态方法(Java8及以后版本支持)和常量(默认是publicstaticfinal修饰的)。抽象类:使用abstract关键字定义,抽象类可以包含抽象方法和普通方法,可以有构造方法和成员变量。继承:Java接口......
  • 链表双指针技巧汇总 [labuladong-刷题打卡 day1]
    双指针合并21.合并两个有序链表比较简单的双指针比较算法,两个指针分别指向待合并链表/序列,比较后选择符合条件的指针移动Trick:链表在实现时,带头节点的链表在操作中更方便题解/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNo......
  • Day20-spring
    Spring(容器框架)官网:https://spring.io/projects/spring-framework导入spring的包——-SpringWebMVC<!--https://mvnrepository.com/artifact/org.springframework/spring-webmvc--><dependency><groupId>org.springframework</groupId><ar......
  • 7.31打卡
    L1-077大笨钟的心情#include<bits/stdc++.h>usingnamespacestd;intmain(){inta[24];for(inti=0;i<24;i++){cin>>a[i];}intn;for(;;){cin>>n;if(n<0||n>23){break;}el......
  • week6 day2
    不出意外 今天又喝酒了......自从考出驾照之后  状态不佳 不想学习  但今天还是看了一点 构造函数子类不会继承父类的构造函数 如果在子类的构造函数中想要调用父类 需要在构造函数的第一行使用 super()如果你没有调用编译器也会帮你调用父类的构造函数必......
  • 7.30打卡
    L1-064估值一亿的AI核心代码#include<bits/stdc++.h>usingnamespacestd;boolIf(charop)//判断op是否为符号{if(op=='0')returnfalse;if(op>='a'&&op<='z')returnfalse;if(op>=......