1 Star 1 Fork 0

codergeek/PAT

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
main.cpp 1.06 KB
一键复制 编辑 原始数据 按行查看 历史
codergeek 提交于 2023-04-04 15:03 . 3. 无重复字符的最长子串
#include "common.h"
#include <stdint.h>
#include <stdio.h>
#include <cstring>
#include <string>
#include <unordered_map>
//
// Created by Administrator on 2023/3/20.
//
int lengthOfLongestSubstring(std::string s){
std::unordered_map<char, int> window;
int left = 0, right = 0;
int res = 0;
while(right < s.size()){
char c = s[right];
right++;
window[c]++;
//判断左侧窗口是否需要收缩
while(window[c] > 1){
char d = s[left];
left++;
//进行窗口内数据的一系列更新
window[d]--;
}
//在这里更新答案
res = std::max(res, right - left);
}
return res;
}
int main(){
//pat_1001_callatz();
//printSumPinyin();
int count = 0;
count = lengthOfLongestSubstring("bbbbb");
printf("bbbbb result :%d\n",count);
count = lengthOfLongestSubstring("abcabcbb");
printf("abcabcbb result :%d\n",count);
count = lengthOfLongestSubstring("pwwkew");
printf("pwwkew result :%d\n",count);
return 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/codergeek/pat.git
git@gitee.com:codergeek/pat.git
codergeek
pat
PAT
master

搜索帮助