当前位置: 首页 > news >正文

[leetcode](找到vector中的特定元素并删除)无重复字符的最长子串

一.找到vector中的特定元素并删除

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    // 示例 vector
    std::vector<int> vec = {1, 2, 3, 4, 5, 6};

    // 要删除的元素
    int aim = 3;

    // 查找元素
    auto it = std::find(vec.begin(), vec.end(), aim);
    
    if (it != vec.end()) {
        // 找到元素,删除它
        vec.erase(it);
    }

    // 打印结果
    for (int i : vec) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    return 0;

二.滑动窗口法解决问题

class Solution {

public:

    int lengthOfLongestSubstring(string s) {

        // 哈希集合,记录每个字符是否出现过

        unordered_set<char> occ;

        int n = s.size();

        // 右指针,初始值为 -1,相当于我们在字符串的左边界的左侧,还没有开始移动

        int rk = -1, ans = 0;

        // 枚举左指针的位置,初始值隐性地表示为 -1

        for (int i = 0; i < n; ++i) {

            if (i != 0) {

                // 左指针向右移动一格,移除一个字符

                occ.erase(s[i - 1]);

            }

            while (rk + 1 < n && !occ.count(s[rk + 1])) {

                // 不断地移动右指针

                occ.insert(s[rk + 1]);

                ++rk;

            }

            // 第 i 到 rk 个字符是一个极长的无重复字符子串

            ans = max(ans, rk - i + 1);

        }

        return ans;

    }

};


 

http://www.lryc.cn/news/523113.html

相关文章:

  • Mockito+PowerMock+Junit单元测试
  • Ncat: bind to :::7777: Address already in use报错问题解决
  • Docker 搭建mysql 连接超时问题,xxl-job启动mysql连接报错,禁用dns
  • 在线图片像素颜色拾取工具
  • Qt之登录界面(splash)
  • NotebookLM:Google 最新 AI 笔记助理解析与实战应用
  • 软路由系统iStoreOS 一键安装 docker compose
  • vue3本地文件下载
  • 纯代码实现给WordPress添加文章复制功能
  • Redis 中 TTL 的基本知识与禁用缓存键的实现策略(Java)
  • 【PyQt】图像处理系统
  • Ruby语言的循环实现
  • javaEE安全开发 SQL预编译 Filter过滤器 Listener 监听器 访问控制
  • 一体机cell服务器更换内存步骤
  • Hadoop•用Web UI查看Hadoop状态词频统计
  • rhel7.9利用有网络环境打包ansible
  • vim文本编辑器三种模式的转换关系
  • 深度学习:大模型Decoding+MindSpore NLP分布式推理详解
  • 【JVM中的三色标记法是什么?】
  • 数据库服务体系结构
  • vscode项目依赖问题
  • R数据分析:有调节的中介与有中介的调节的整体介绍
  • RabbitMQ-消息可靠性以及延迟消息
  • Hack The Box-Starting Point系列Oopsie
  • Linux运维篇-PAM安全模块配置
  • 麒麟V10系统上安装Oracle
  • 项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(七)
  • Elasticsearch:Jira 连接器教程第二部分 - 6 个优化技巧
  • Vulnhub Earth靶机攻击实战(一)
  • 51单片机——DS18B20温度传感器