LeetCodeOJ——3. Longest Substring Without Repeating Characters

手把手教你学Simulink——基于Simulink的PR(比例谐振)控制器在单相整流中的应用 本文详细介绍了基于Simulink的PR(比例谐振)控制器在单相整流系统中的应用。通过与传统PI控制器的对比,阐述了PR控制器在交流信号跟踪中的优势:可实现50Hz正弦电流的无静差跟踪,THD低于2%,功率因数接近1。文章从PR控制器原理出发,提供了Simulink建模的具体步骤,包括主电路搭建、电压外环设计、PR控制器实现方法(推荐MATLAB Function方式)以及SPWM调制。通过仿真验证了PR控制在稳态和负载突变情况下的优越性能,并探讨了工程实践中的电网频率自适应、多谐振PR等关键技术。该教程为 阅读详情

Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.

Examples:

Given “abcabcbb”, the answer is “abc”, which the length is 3.

Given “bbbbb”, the answer is “b”, with the length of 1.

Given “pwwkew”, the answer is “wke”, with the length of 3. Note that the answer must be a substring, “pwke” is a subsequence and not a substring.

Subscribe to see which companies asked this question

解题思路:
解法1:
两个循环遍历子串(以字符串上的每一个字母为起点,寻找最长子串),并用set记录当前字母是否已经被访问过了,若被访问了则终止,j-i计算长度,最后筛选出最长的。

代码如下:

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        if(s.length()==1){
            return 1;
        }
        set<char> sx;
        int *len = new int[s.length()];
        for (int i = 0; i < s.length(); i++){
            sx.clear();
            int j = i;
            for (;j < s.length(); j++){
                if (sx.find(s[j])!=sx.end()){
                    len[i] = j - i ;
                    break;
                }
                else{
                    sx.insert(s[j]);
                }
            }
            if(j==s.length()){
                len[i]=j-i;
            }
        }
        int maxLen = 0;
        for (int i = 0; i<s.length(); i++){
            if (len[i]>maxLen){
                maxLen = len[i];
            }
        }
        return maxLen;
    }
};

很不幸,Time Limit Exceeded。
因此考虑解法2:动态规划,直接看代码吧。

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int *dp = new int[s.length()];
        dp[0] = 1;
        int last = 0;
        for (int i = 1; i < s.length(); i++){
            for (int j = i - 1; j >= 0; j--){
                if (s[i] == s[j]){
                    dp[i] = i - j;
                    last = j + 1;
                    break;
                }
                if (j == last){
                    dp[i] = dp[i - 1] + 1;
                    break;
                }
            }
        }
        int maxLen = 0;
        for (int i = 0; i<s.length(); i++){
            if (dp[i]>maxLen){
                maxLen = dp[i];
            }
        }
        return maxLen;
    }
};
GIS数据处理-使用PostGIS+QGIS GIS数据处理1-使用PostGIS+QGIS 介绍 这里我遇到了一个需求,需要将SQLite的.db数据库中GIS数据导出成shapefile文件 数据库的表结构如下所示,这里存储的是wkt格式的矢量数据 WKT与WKB格式介绍 OpenGIS 规范定义了两种表示空间对象的标准方式:Well-Know Text (WKT) 形式和Well-Known Binary(WKB) 形式。WKT 和 WKB 都包含矢量几何要素的对象类型和构成对象的坐标的信息。WKT可读性强,更方便阅读识别,而在实际数据传输和存 阅读详情

相关推荐

自动化革命:AI在需求分析、代码生成与测试中的深度应用

在2025年的科技浪潮中,人工智能(AI)已不再是实验室中的概念,而是深度渗透至软件开发的全生命周期。从需求分析的精准捕捉,到代码生成的自动化创作,再到测试环节的智能覆盖,AI正以革命性姿态重塑软件工程的核心环节。本文将结合2025年最新数据与行业实践,解析AI如何在这三大领域实现深度应用。

1508

LeetCodeOJ_3_m_Longest Substring Without Repeating Characters

答题链接题目:Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for “abcabcbb” is “abc”, which the length is 3

小小窝~~ 382

接上篇,记录一下【Unity 3D对博途PLCSIM的通讯】文章有点长~仔细看,很基础

本文参考链接:西门子PLC丨PROFINET通讯仿真(虚拟通讯)做了一些更详细的优化,本文使用的类库并非原作者使用的类库。 首先,昨天项目已经创建好了,这边也加了一个InputField和一个Button,可以实现简单的读取,ok开始。 放入准备好的通讯类库; 新建一个博途的项目,本次测试使用博途V15,测试环境为虚拟机,Unity运行在本地计算机,建立博途项目流程如下: 新建项目,右键项目-属性-保护-对勾,如图: 不得不说的是,仿真中加密的FB块是无法下载的哦~ 添加CPU...

NS_Speak(IVAV) 8055

LeetCodeOJ.Longest Substring Without Repeating Characters

试题请参见: https://leetcode.com/problems/longest-substring-without-repeating-characters/题目概述Given a string, find the length of the longest substring without repeating characters. For example, the longest s

Infinite Script 729

【MATLAB强化学习工具箱】学习笔记--在Simulink环境中训练智能体Create Simulink Environment and Train Agent

Simulink中便于搭建各类动力学与控制模型,通过将原有的控制器替换为AI控制器,可以方便使用已有模型,提供增量效果。 本节的重点是如何引入Simulink模型作为env,其他的内容在之前的文章中已有说明。 以水箱模型watertank为例,如下图所示: 采用PI控制器,控制效果如下所示: 将此PI控制器替换为神经网络控制器后,系统架构如下图所示: 具体替换策略如下所示: (1)删去PID控制器; (2)增加RL Agent模块; (3)观测器模块: 观测向量为:,其中...

bear_miao的博客 1万+

新手避坑指南:从GEO数据库下载单细胞测序数据的5个关键步骤(附实操截图)

本文为单细胞测序数据下载新手提供5个关键避坑步骤,涵盖数据搜索准备、样本量评估、文件选择决策、元数据诊断及高效下载技术。通过实操截图和代码示例,帮助研究者快速锁定GEO数据库中的优质单细胞测序数据,避免常见错误。

weixin_30296405的博客 658

leetcode(三)—— Longest Substring Without Repeating Characters(最长不重复子串 Python/C++)

Longest Substring Without Repeating Characters | LeetCode OJ使用 hash判重问题首先想到的就是 hash;

1607

【AI智能体】Coze 数据库从使用到实战操作详解

Coze 数据库使用到实战详解

congge 5912

LeetCode动态规划归纳

LeetCode动态规划归纳最近刷了很多动态规划的问题,归纳一下做动态规划的题的方法。动态规划很多题目是解决最多最少最大最小的问题。动态规划问题的基本做法是: 确定递推量 推出递推式 确定边界 在解决上述问题的同时,要时刻注意如何把全局的问题变成局部的(最优子结构),如何把前面计算过的子问题利用起来(重叠子问题)。下面把动态规划题分为几种类型。算种数的动态规划典型的题目包括:62.Unique Pa

King来写代码的专栏 1992

Buck电源设计常见的一些问题(五)MOS管振荡抑制方法(三)

关于开关节点振荡的产生机制和抑制问题,总结了三种抑制方法。第一种方法是利用输入端的高频去耦电容;第二种方法是设计 RC 缓冲电路;第三种方法是优化自举电路的串联电阻。以上三种方法均通过实验加以验证,对开关节点振荡具有很好的抑制作用。应该综合同步 Buck 变换器的各项指标权衡设计。

小幽余生不加糖 1633

山东大学机试试题合集

山东大学机试试题合集

qq_63349644的博客 2621

LeetCodeOJ——10. Regular Expression Matching

Regular Expression MatchingImplement regular expression matching with support for ‘.’ and ‘*’.‘.’ Matches any single character. ‘*’ Matches zero or more of the preceding element.The matching should co

King来写代码的专栏 639

工业4.0必备:C#上位机+数字孪生 生产线实时监控与智能预警系统(工业级实战)

数据割裂:PLC、传感器、工业相机的数据散落在不同系统,想看全局生产状态要切换N个软件,“数据孤岛”导致决策滞后;故障难预判:设备突发故障时,只能停机排查,平均故障响应时间超30分钟,一条生产线停工1小时损失超10万;可视化差:传统监控只有冰冷的数字和2D图表,设备运行状态、生产流程、物料流转无法直观感知,新人上手需3个月才能熟悉产线。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 658

LeetCodeOJ——1.Tow Sum

Tow SumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution.*Example: Given nums = [2

King来写代码的专栏 602

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

32. Longest Valid Parentheses

Longest Valid ParenthesesGiven a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring.For “(()”, the longest valid parentheses sub

King来写代码的专栏 553

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LeetCodeOJ——2.Add Two Numbers

Add Two NumbersYou are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and retur

King来写代码的专栏 505

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

LeetCodeOJ——8. String to Integer (atoi)

String to Integer (atoi)Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are th

King来写代码的专栏 478

LeetCodeOJ——7. Reverse Integer

Reverse IntegerReverse digits of an integer.Example1: x = 123, return 321 Example2: x = -123, return -321**spoilers: Have you thought about this? Here are some good questions to ask before coding. B

King来写代码的专栏 452

LeetCodeOJ——5.Longest Palindromic Substring

Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.解题思路:最长回文子串问题,很经典的问题。但一开始怎么

King来写代码的专栏 438

LeetCodeOJ——9. Palindrome Number

Palindrome NumberDetermine whether an integer is a palindrome. Do this without extra space.解题思路:由于不能有额外的空间,所以可以参考上面的第7题倒转数字,根据回文的性质,倒转后的数字=原数字,注意倒转过程中不要使用额外的空间(除了必要的res)。代码如下: bool isPalindrome(int

King来写代码的专栏 429

LeetCodeOJ——4. Median of Two Sorted Arrays

Median of Two Sorted ArraysThere are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).Exam

King来写代码的专栏 414

LeetCodeOJ——6. ZigZag Conversion

ZigZag ConversionThe string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H

King来写代码的专栏 405

求集合的交集/差集

先利用外部排序使两个磁盘文件有序,然后顺序读取两个文件,使用双指针求交集。在进阶 1 中,我们是通过双指针去做的,最坏情况下我们需要完整遍历。时,O(n log m) 可能明显优于 O(n + m)。的,这就使得我们可以通过从 1~1000 遍历来确定交集。,它们已经按非降序排序,请你返回两个数组的。和上一题的区别在于,这里需要找到重复的元素。返回一个数组,数组中的每个元素在。的每个字符串中都出现的共用字符(**注意:**列表中的整数可以按。较小,可以完整加载到内存,而。正整数组成的一个非空数组,按。

jyyyyx的算法之旅 112

LeetCode 每日一题 2026/11/2-2026/11/8

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步

AlphaTao的博客 175

LeetCode Hot 100 二叉树专题(二)3 题(Java)

本篇文章共 3 题:543. 二叉树的直径、102. 二叉树的层序遍历、108. 将有序数组转换为二叉搜索树。 每道题都统一按「① 题目分析 & 解题思路 → ② 常见解法(附代码)及讲解 → ③ 知识点总结」的顺序组织;代码使用 Java 编写,节点定义沿用 LeetCode 默认的 TreeNode。

2401_88612756的博客 360

LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等)

LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等) 题目描述: 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: - s = s1 + s2 + ... + sn - t = t1 + t2 + ... + tm - |n - m| <= 1 - 交错 是 s1 + t

huayimenghan的博客 203
上一篇: LeetCodeOJ——2.Add Two Numbers
下一篇: LeetCodeOJ——4. Median of Two Sorted Arrays
King来写代码
博客等级 码龄12年 68粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值