leetcode3题解

简介: leetcode3的题解

LC3

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度。

示例 1:

输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
AI 代码解读
class Solution {
   
public:
    int lengthOfLongestSubstring(string s) {
   
        int maxlen=0;
        vector<int>m(128,0);
        int head=0;
        for(int i=0;i<s.size();i++){
   
            head=max(head,m[s[i]]);
            m[s[i]]=i+1;
            maxlen=max(maxlen,i-head+1);
        }
        return maxlen;
    }
};//利用vector将字符的ASCII作为下标,值为位置来查重
AI 代码解读
目录
打赏
0
0
1
0
33
分享
相关文章
|
5月前
【LeetCode 02】暴力法总结
【LeetCode 02】暴力法总结
35 1
LeetCode第66题加一
LeetCode第66题"加一"的解题方法,通过遍历数组从后向前处理每一位的加法,并考虑进位情况,最终实现给定数字加一的功能。
LeetCode第66题加一
|
10月前
|
leetcode:389. 找不同
leetcode:389. 找不同
40 0
LeetCode 1904. 你完成的完整对局数
一款新的在线电子游戏在近期发布,在该电子游戏中,以 刻钟 为周期规划若干时长为 15 分钟 的游戏对局。这意味着,在 HH:00、HH:15、HH:30 和 HH:45 ,将会开始一个新的对局,其中 HH 用一个从 00 到 23 的整数表示。游戏中使用 24 小时制的时钟 ,所以一天中最早的时间是 00:00 ,最晚的时间是 23:59 。
112 0
leetcode第54题
在 leetcode 的 solution 和 discuss 看了下,基本就是这个思路了,只是实现上有些不同,怎么用来标记是否走过,当前方向,怎么遍历,实现有些不同,但本质上是一样的。就是充分理解题意,然后模仿遍历的过程。
117 0
leetcode第54题
leetcode第52题
可以发现对于同一条副对角线,row + col 的值是相等的。 对于同一条主对角线,row - col 的值是相等的。 我们同样可以用一个 bool 型数组,来保存当前对角线是否有元素,把它们相加相减的值作为下标。 对于 row - col ,由于出现了负数,所以可以加 1 个 n,由 [ - 3, 3 ] 转换为 [ 1 , 7 ] 。
leetcode第52题
leetcode第32题
这几种算法,暴力破解和动态规划我觉得想的话,还是能分析出来的话,最后两种算法感觉是去挖掘题的本质得到的算法,普适性不是很强。但最后一种算法,从左到右,从右到左,是真的强。
119 0
leetcode第32题
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等