双指针运算

devtools/2024/9/20 13:28:22/ 标签: c++, 算法, 开发语言

核心思想:将朴素算法优化到O(n)

应用实例

1.将一个字符串分割成单词

//将一个字符串分割成单词
#include<iostream>
#include<string.h>
using namespace std;int main()
{char str[1000];gets(str);int n=strlen(str);//trlen函数需要引入头文件#include<string.h>for(int i=0;i<n;i++){int j=i;while(j<n && str[j]!=' ') j++; //将空格视为单词之间的分隔符for(int k=i;k<j;k++) cout<<str[k];cout<<endl;i=j;}return 0;
}

2.最长连续不重复序列

#include<iostream>
using namespace std;
const int N=1e5+10;
int n;
int a[N],s[N];
int main()
{cin>>n;for(int i=0;i<n;i++) cin>>a[i];int res=0;for(int i=0,j=0;i<n;i++){s[a[i]]++;while(s[a[i]]>1){s[a[j]]--; // j 要把前面走过的个数都清掉j++;}res=max(res,i-j+1);}cout<<res<<endl;return 0;
}

测试样例:

5

1 2 2 3 5

输出:3


http://www.ppmy.cn/devtools/95230.html

相关文章

VBA语言専攻T3学员领取资料通知0817

T3学员领取资料通知0817 各位学员∶本周MF系列VBA技术资料增加681-690讲&#xff0c;T3学员看到通知后请免费领取,领取时间8月16日晚上19:00-8月17日中午12:00。本次增加内容&#xff1a; MF691:按所选范围对行进行分组显示 MF692:查找所给范围内的重复项 MF693:文本框Text…

docker配置国内镜像加速

docker配置国内镜像加速 由于国内使用docker拉取镜像时&#xff0c;会经常出现连接超时的网络问题&#xff0c;所以配置Docker 加速来使用国内 的镜像加速服务&#xff0c;以提高拉取 Docker 镜像的速度。 1、备份docker配置文件 cp /etc/docker/daemon.json /etc/docker/da…

SAK-TC277TP-64F200N DC:32位RAM微控制器、常用于消费者应用

描述&#xff1a; SAK-TC277TP-64F200N DC属于第一代Aurix TC27xT产品。其创新多核心架构基于多达三个独立32位TriCore CPU&#xff0c;专为满足极高的安全标准&#xff0c;同时大幅提高性能而设计。TC27xT系列产品配备200 MHz TriCore、5V 或3.3V 单电压供电和强大的通用定时器…

贪吃蛇(C语言详解)

贪吃蛇游戏运行画面-CSDN直播 目录 贪吃蛇游戏运行画面-CSDN直播 1. 实验目标 2. Win32 API介绍 2.1 Win32 API 2.2 控制台程序&#xff08;Console&#xff09; 2.3 控制台屏幕上的坐标COORD 2.4 GetStdHandle 2.5 GetConsoleCursorlnfo 2.5.1 CONSOLE_CURSOR_INFO …

嵌入式软件--模电基础 DAY 2

强电和弱电&#xff0c;简单一点是以电死人为标准的&#xff0c;交流电36伏特以下&#xff0c;直流电24V以下&#xff0c;为安全电压&#xff0c;是为弱电&#xff0c;反则强电。 市电进入家庭&#xff0c;连接你的电脑&#xff0c;220V的电压为什么没有让你感到危险&#xff…

一个使用Python和`scikit-learn`库实现KMeans聚类算法的简单示例

一个使用Python和scikit-learn库实现KMeans聚类算法的简单示例。首先&#xff0c;请确保您已经安装了scikit-learn库。如果没有安装&#xff0c;可以通过pip安装它&#xff1a; pip install scikit-learn下面是一个简单的例子&#xff0c;展示如何使用scikit-learn中的KMeans进…

Windows10配置FFmpeg和使用FFmpeg截取视频流视频

第一部分&#xff1a;Windows10配置FFmpeg 简介&#xff1a;FFmpeg是一个功能强大的多媒体处理工具(用于录制、转换和播放音频和视频)。可以进行转换、剪辑、拼接、过滤等操作。 1、下载FFmpeg工具&#xff08;分Windows和Linux其他&#xff09; Download FFmpeghttps://ffm…

Java中的全局异常处理器 -- GlobalExceptionHandler

开发记录&#xff1a;全局异常处理器笔记 import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.MyBatisSystemException; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.RedisConnectionFailureException; im…

透明加密技术

透明加密技术&#xff0c;也被称为透明数据加密&#xff08;Transparent Data Encryption, TDE&#xff09;&#xff0c;是一种加密方法&#xff0c;它允许数据在存储时自动加密和解密&#xff0c;而不需要用户进行任何手动操作。透明加密技术主要应用于数据库、文件系统和磁盘…

第十六章:开发应用的最佳实践

本章内容包括&#xff1a; 了解在一个典型应用中会出现哪些kubernetes的资源添加pod启动后和停止前的生命周期钩子在不断开客户端连接的情况下妥善的停止应用在kubernetes中如何方便管理应用在pod中使用init容器使用minikube在本地进行应用开发 1 集中一切资源 我们⾸先看看⼀…

【xilinx】Xilinx最强FPGA VU系列简介

在高性能计算和数据处理领域&#xff0c;FPGA扮演着日益重要的角色。Xilinx的Virtex™ UltraScale™&#xff08;VU&#xff09;系列以其卓越的性能和灵活性&#xff0c;为各种高端应用提供了强有力的支持。以下是关于VU系列的详细介绍。 AMD Virtex™ UltraScale™ 产品优势 …

tomcat Listener 内存马浅谈

本文来源无问社区&#xff0c;更多实战内容可前往查看http://www.wwlib.cn/index.php/artread/artid/3651.html Tomcat 介绍 Tomcat的主要功能 toncat作为一个web服务器&#xff0c;实现了两个核心的功能 http 服务器功能&#xff1a;进行socket 通信&#xff08;基于TCP/I…

【C++高阶】哈希—— 位图 | 布隆过滤器 | 哈希切分

✨ 人生如梦&#xff0c;朝露夕花&#xff0c;宛若泡影 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&am…

凭借这份《2024测试面经》候选者逆袭面试官,offer拿到手软

《2024测试面经》800 道软件测试面试真题&#xff0c;高清打印版打包带走&#xff0c;横扫软件测试面试高频问题&#xff0c;涵盖测试理论、Linux、MySQL、Web 测试、接口测试、App 测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据结构与算法、逻辑思维、人力…

开发干货 | 七夕爆款智能体是怎么做的?4篇开发拆解都在这里了

上周六8月10日是咱们传统节日七夕 平台上线了七夕专项创意智能体 还没玩过的朋友戳&#x1f449;&#x1f3fb;七夕速来AI一下&#x1f448;&#x1f3fb; 这样新颖、有创意的智能体是如何构思的&#xff1f; 又是如何实现创意开发的呢&#xff1f; 一起来看开发者的干货分享…

Zotero更改插入word中所有引用编号的颜色

002-如何批量更改Zotero插入在word中参考文献的颜色&#xff08;快速变蓝&#xff09; 主要根据此视频进行学习。 需要记住 查找的内容为&#xff1a; ^19 ADDIN ZOTERO_ITEM 在word中打开 文件->更多->选项->高级 下滑选择域底纹&#xff0c; 可以看到所有的引用 …

Trilium Notes:你的个人知识库!【送源码】

简介 Trilium Notes是一款功能全面的层次化笔记应用&#xff0c;通过树形结构构建个人知识库&#xff0c;支持Markdown编辑、网页内容剪切、笔记搜索与映射&#xff0c;并特别提供了基于画布的自由涂画功能&#xff0c;极大地提升了笔记的灵活性和创造性&#xff0c;是知识管理…

Web开发-CSS篇-下

1. 盒子模型介绍 盒子模型是CSS布局的基础&#xff0c;每个HTML元素都被看作是一个矩形盒子。盒子模型主要由以下四个部分组成&#xff1a; Content&#xff1a;内容区域&#xff0c;显示文本和图片。Padding&#xff1a;内边距&#xff0c;围绕内容的空白区域。Border&#x…

Linux 虚拟机 CentOs7系统 配置

Linux centos7 虚拟机配置 虚拟机配置 网络安装&#xff1a; #配置网络IP地址 cd /etc ls cd sysconfig/ cd network-scripts vi ifcfg-ens33 #输入i进入编辑模式&#xff08;不能用滚轮&#xff01;只能按上下键&#xff09; ONBOOT值改为yes #按esc&#xff0c;然后输入:w…

【热门文章】Eureka原理实践

以下是关于“Eureka 原理实践”的一些可能的步骤和要点&#xff1a; 一、Eureka 原理概述 Eureka 是 Netflix 开发的服务发现框架&#xff0c;其核心原理包括服务注册、服务发现和心跳机制。 服务注册&#xff1a;服务提供者在启动时将自身的信息&#xff08;如服务名称、IP 地…