3. Longest Substring Without Repeating Characters [DP]

机器视觉检测到底怎么做,经验分享 笔者做机器视觉检测已经有五六年了,也算是对机器视觉的检测技术有了一定的掌握。总的来说,基于机器视觉的检测技术主要包含三个部分:视觉采集模块、后台分析模块和动作决策模块。这几个分类,跟教科书上的有较大差异,很多同学觉得我在杜撰。笔者也不作反驳,因为这是笔者这些年工作经验的总结,自然区别于教科书。下面我们分开来讲这几个模块,同时会把笔者之前的论文做个推荐总结。 所有文章均可在博主的主页中找到,若无法找到,可以用搜索工具。博主的主页: https://blog.csdn.net/Aoulun 第.. 阅读详情

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.


代码如下:

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        vector<int> dict(256, -1);
        int max_len = 0, start_index = -1;
        for(int i=0; i<s.length(); ++i){
            if(dict[s[i]] > start_index)  
                start_index = dict[s[i]];
            dict[s[i]] = i;
            max_len = std::max(max_len, i - start_index);
        }
        return max_len;
    }
};

这道题思路上很明显是需要用到动态规划的,但是怎么用,这就需要和hashmap结合了。既然是字符串,假设都是ascii码字符,一共256个,我们就可以制造一张256个大小的表,表的索引是字符characters,值为每个无重复字串的起始下标,声明vecotr<int> dict(256, -1)。

用法举例:对于字符串“pwwkew"

第一次:出现的字符是p,未操作前dict['p] = -1,那么dict['p'] = 0,此时start_index=-1,dict['p']不大于-1,所以start_index不变还是-1,最大长度就是max_lestart_index = 0 - (-1) = 1。

第二次:出现字符w,同理dict['w] = 1,max_len = 1 - (-1) = 2。

第三次:再次出现w,这时由于未操作前dict['w']是1, 大于start_index(-1),此时更新start_index,也就意味着以前的字串碰见重复字符了,要开始计算新的无重复子串了,新的无重复字串start_index就是前面与之重复的那个字串下标。

       因为我们用i-start计算长度,并没有+1,所以实际上start必须是无重复字串起始前一个位置,恰好剔除前一个重复元素。

我们开场设定的start_Index的初值为-1也是为了这个目的。现在start_index=1,i=2,max_len = 2 - 1 = 1,符合要求,我们当前无重复字串只包含有一个"w"。

第四次:出现k,未操作前dict['k'] = -1,不大于start_index,说明还在那个无重复字串扩充长度过程中,start_index不变,那么dict['k] = 3,max_len现在是i-start_index = 3 - 1 = 2,长度为2,即“wk"。

后续就不必再说了,类似的。

AMBA-CHI协议详解(十五) Write transactions事务描述以及请求属性,cache line状态转换。 阅读详情

相关推荐

一分钟教会你搭建steam新游幻兽帕鲁服务器

总结: 游戏对服务器搭建要求相对较高、且对服务器网络协议有要求不能封堵UDP、多开、游戏运行久、同时在线人数多了这些会很吃内存 我自己用的64G内存多开4区测试玩家同时在线50多人的情况下内存已经跑满了、对于想用服务器搭建联机的小伙伴建议根据开区数量以及玩家人数去选择配置、当然也可以直接找我阿杰购买、我可以提供技术搭建服务。注:如果用的是本地电脑局域网搭建直接输入127.0.0.1:8211就行 如果用的是服务器搭建输入自己服务器IP+端口或解析的域名+端口进入游戏。

用最简单的方式说最重要的事!服务器、存储、云计 算、A智能的大数据产品、游戏开发技术。致力于广 大开发者、政企用户、各项机构等,构建云上世界提供全方位云计算解决方案。旨在打造差异化的开放式闭环生态系统帮助用户快速构建稳定、安全的云计算环境。 2238

[leetcode]003-Longest Substring Without Repeating Characters[动态规划]

1. 原题 https://leetcode.com/problems/longest-substring-without-repeating-characters/ 2. 思路 题意:给出一个字符串, 求出最长的子串(连续的),要求所含的字符均不重复。 难度中等,这里采用动态规划的思想。 变量cp记录当前最长子串的起始位置,若与当前字符S[i]重复,则进行转移。 新的最长子串起始位置...

坚不萌 227

别再手动调参了!用Optuna+PyTorch搞定Transformer时序预测超参数(附完整代码)

本文详细介绍了如何利用Optuna和PyTorch实现Transformer时序预测模型的自动化超参数调优。通过贝叶斯优化技术,显著提升单变量时序预测的效率和准确性,并附有完整代码实现。文章涵盖模型架构设计、数据预处理、Optuna调参实战及生产环境部署建议,为开发者提供一站式解决方案。

weixin_33704234的博客 580

字符串+哈希表+小动态规划(Longest Substring Without Repeating Characters -- LeetCode)

Longest Substring Without Repeating Characters 题目难度:3   面试频率 2  . (1-5) 题目描述: Given a string, find the length of the longest substring without repeating characters. For example, the longest s

优快云yuanyuan的博客 1712

大模型辅助意图识别,更懂你的客户洞察平台

通过大量的学习和训练,大模型不仅具备庞大的知识库,更掌握着丰富的语言模式和语义规则,能够精准地理解每一段对话的含义,为每一通对话进行全面、准确的标注。主要来自客户的行为信息,将客户与机构的重要时刻以时间轴的方式呈现出来,掌握客户生命周期的完整脉络,识别一些容易被忽略的重要营销MOT(Moment Of Truth,关键时刻研究)机会,提示理财经理跟进处理。将客户的历史交易数据和埋点系统采集的客户行为数据结合起来,辅以部分内容资讯的偏好探测,综合分析和预测客户在各个维度的喜好程度,实现千人千面的客户推送。

Dezhuzhineng的博客 2161

VS配置RTKLIB(卫星定位开源代码)环境

@RTKlib代码调试教程-Visual Studio 2019 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 ##RTKLIB-rtklib_2.4.3 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 @RTKlib代码调试教程-Visual Studio 2019 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技

qq_42209977的博客 4486

3. 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 l...

同销万古愁的博客 497

MuJoCo XLA (MJX) 强化学习人形机器人四足机器人入门教程(三)

MJX 是用 JAX 编写的 MuJoCo 实现,可以在 GPU/TPU 上进行大批量训练。在本笔记本中,我们将演示如何使用 MJX 训练 RL 策略。在开始大量 RL 工作负载之前,我们先从一个简单的示例开始!xml = """"""接下来,我们使用 MJX 将 MuJoCo 模型和数据放到 GPU 设备上。下面,我们将打印来自 MuJoCo 和 MJX 的 qpos。

2506_90492529的博客 2473

LeetCode(3) Longest Substring Without Repeating Characters

LeetCode的第3题,给定一个字符串,找到其中的一个最长的字串,使得这个子串不包含重复的字符。 // // Solution.h // LeetCodeOJ_003_LongestUniqueSubstr // // Created by feliciafay on 11/21/13. // Copyright (c) 2013 feliciafay. All rights rese

BUILD 1万+

【WRFDA第一期】WRF数据同化概述及资源整理

【WRFDA第一期】WRF数据同化概述及资源整理

WW、forever的博客 1660

pyecharts在jupyter notebook中不能够渲染图表问题。

在使用jupyter notebook中使用pyecharts绘制可视化图表的时候,发现图表不能渲染到页面中,生成的html是没问题的,本文主要解决在jupyter notebook中不能渲染这个问题。

猿小白的博客 1169

Longest Substring Without Repeating Characters 最长不重复子串 @LeetCode

Ref: http://fisherlei.blogspot.com/2012/12/leetcode-longest-substring-without.html

Fight for your dream 1778

LeetCode 3. Longest Substring Without Repeating Characters (dp或预处理)

题链:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 题意:求没有重复数的最长连续子序列。 思路: dp[i]表示以i为结尾的最长子序列的首位置下标 转移方程: dp[i]=max(dp[i-1],pre[a[i]]+1) 初值: dp[0]=0 pre[a[0]]=0 pre[other]=-1 const int N = 5e4+10; int dp[N]; class

birdmanqin的博客 164

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

leetcode 3. Longest Substring Without Repeating Characters dp

链接:戳这里 题意:给出一串字符串,输出最长的子序列长度满足(该子序列中不出现重复的元素) 思路:dp[i] 表示在当前位置i的值为x,存在上一个x出现的位置为dp[i] 那么维护一个左边界L,L每次更新是因为出现了x......x类似这样的情况,更新为L=max(L,第一个x出现的位置) 因为你不管怎么取都不能在往第一个出现x的位置左边走了 对于 x..x..y..y.

Cross 358

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

LeetCode 3. Longest Substring Without Repeating Characters【滑动窗口模板题+序列DP思想】⭐⭐⭐

文章目录题目描述知识点结果 题目描述 知识点 动态规划 结果

yc_cy1999的博客 182

VB摄像头监控

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

LeetCode #3 Longest Substring Without Repeating Characters 不带重样儿的最长连续子串 MAP DP...

Description Given a string, find the length of thelongest substringwithout repeating characters. Examples: Given"abcabcbb", the answer is"abc", which the length is 3. Given"bbbbb"...

aibin6833的博客 192

Length of the longest substring without repeating characters(dp)

给出一个字符串,找出这个字符串中最长连续的而且没有重复字符的子串,并返回它的长度。例如,对于字符串“BDEFGABEF”最长连续且没有重复字符的子串可以是“DEFGAB”或者“DEFGAB”,长度是6。对于字符串“BBBB”,它满足要求的字串的长度是1,即“B”。 首先分析一下,对于给定长度的字符串,它一共有多少个字串呢? 子串数 = 长度为1的子串数+长度为2的子串数+ 。。。+长度为n的子串

zzran的专栏 3351

Longest Substring Without Repeating Characters

题意为给出一个字符串,找出其中没有重复字符的最长子序列的长度。brute force的复杂度为O(n^3).依次查找每个子字符串是否含有重复字符,并比较长度。开始看到题目,想用DP解决,在已有目前最长子序列的情况下,比较把当前字符串放入和不放入,哪个子序列长度会更大,但是这种解法的复杂度为O(n^2),也不理想。 一种比较好的解法是贪心策略,维护一个变量maxlen保存目前已有的不重复子序列的最...

weixin_34189116的博客 933

【CODE】Longest Substring Without Repeating Characters

3.Longest Substring Without Repeating Characters (最长不重复子串) Medium 6874410FavoriteShare Given a string, find the length of thelongest substringwithout repeating characters. Example 1: Input: ...

Li_Jiaqian的博客 362

3. Longest Substring Without Repeating Characters

原题链接:https://leetcode.com/problems/longest-substring-without-repeating-characters/ 在给定的字符串中找出最长的连续不重复字符串的长度。 我的思路: 1.遍历字符串的substring,每次向后推移一位,当遍历的substr长度小于当前的max_str的时候遍历结束。 2.遍历字符串的时候建一个字典,检查当前的字母是否...

15plus的博客 288

【leetcode】3. Longest Substring Without Repeating Characters 三种方法

查找给定字符串的最长不重复子串。 方法一:该方法很直接,依次从每一个字符开始,向后逐个遍历,直到遇到重复的字符为止。判断字符是否重复,用到了hash数组,可以在常数时间内判断当前字符在本次循环中是否访问过,由于针对的是ASCII字符集,故使用的hash数组大小为256. int lengthOfLongestSubstring(string& s) { int n = s.size();

五月花 608

阴沟翻船题——Longest Substring Without Repeating Characters

leetcode题解,最长字符不重复子串 3. Longest Substring Without Repeating Characters

hataksumo的博客 444

【LeetCode】【3. Longest Substring Without Repeating Characters】(python版)

Description: Given a string, find the length of the longest substring without repeating characters. Example 1: Input: "abcabcbb" Output: 3 Explanation: The answer is "abc", which the length is 3. ...

SevenEleven的博客 787
上一篇: memcpy函数的实现
下一篇: muduo网络库定时器的实现
FreeeLinux
博客等级 码龄11年 421粉丝 356原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值