博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode – Refresh – Longest Substring with At Most Two Distinct Characters
阅读量:6712 次
发布时间:2019-06-25

本文共 1017 字,大约阅读时间需要 3 分钟。

At first beginning, I was trying to use hash set to record the characters. But I found that was wrong.

Because if there are couple same chars, when you erase it, you lost all the information and cause the result wrong.

 

Note:

size > 2 not size > 1

class Solution {public:    int lengthOfLongestSubstringTwoDistinct(string s) {        int len = s.size(), result = 0;        if (len < 2) return len;        unordered_map
mapping; for (int left = 0, right = 0; right < len; right++) { if (mapping.find(s[right]) != mapping.end()) { mapping[s[right]]++; } else { mapping[s[right]] = 1; while (mapping.size() > 2) { char tmp = s[left++]; if (mapping[tmp] > 1) mapping[tmp]--; else mapping.erase(tmp); } } result = max(result, right - left + 1); } return result; }};

 

转载于:https://www.cnblogs.com/shuashuashua/p/4352700.html

你可能感兴趣的文章
Ionic 3.4.2 发布,漂亮的 HTML5 移动应用框架
查看>>
Linux Kernel 4.9-rc8,4.9 分支最后一个候选版
查看>>
想开发 Android 分支?没门!
查看>>
《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 2.2 相关关键技术及工作原理...
查看>>
《Nmap渗透测试指南》—第1章1.5节Mac OS安
查看>>
重磅,企业实施大数据的路径
查看>>
linux之cp/scp命令+scp命令详解
查看>>
Spark 源码分析 -- BlockStore
查看>>
《C语言编程初学者指南》一1.7 创建并运行第一个C程序
查看>>
学习和使用 PHP 应该注意的10件事
查看>>
《Ember.js实战》——2.5 Ember.js对象模型
查看>>
《响应式Web图形设计》一第13章 响应Web设计中的图像
查看>>
shiro session 监听
查看>>
定时任务框架Quartz的新玩法
查看>>
段前缀的使用(0504)
查看>>
.NET Framework 源码
查看>>
开源大数据周刊-第6期
查看>>
centos上一键安装jdk、tomcat脚本
查看>>
排序算法 时间、空间复杂度
查看>>
flex容器主轴上的部分元素单独设置位置
查看>>