[LeetCode]Longest Substring Without Repeating Characters
来源:互联网 发布:蒙泰端口设置 编辑:程序博客网 时间:2024/06/14 10:29
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.
最简单的做法就是用一个嵌套循环遍历,但是这样效率比较低。我采取的做法是用一个map来记录substring,遍历string,如果该字符没有出现在map中,那就将其加入map,若出现过,说明该字符有重复,则将第一个字符从map中去除,重新检测当前字符是否出现在map中,重复此过程直到map中没有该字符,每次此过程都更新记录substring的最大长度。这样操作只需要遍历string一遍,比嵌套循环要好很多。
class Solution {public: int lengthOfLongestSubstring(string s) { map<char, int> str; int start = 0, len = 0; //start表示当前str第一个字符在s中的位置 for (int i = 0; i < s.length(); i++) { if (str.find(s[i]) != str.end()) { // 如果当前字符出现在str中,将第一个字符从str中去除 if (str.size() > len) { len = str.size();} str.erase(str.find(s[start])); start++; i--;} else { // 如果该字符没有出现在str中,那就将其加入strstr[s[i]] = i;} } if (str.size() > len) { len = str.size();}return len; }};
阅读全文
0 0
- LeetCode: Longest Substring Without Repeating Characters
- LeetCode Longest Substring Without Repeating Characters
- LeetCode: Longest Substring Without Repeating Characters
- [Leetcode] Longest Substring Without Repeating Characters
- leetcode 23: Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- LeetCode 3 - Longest Substring Without Repeating Characters
- [LeetCode]Longest Substring Without Repeating Characters
- leetcode Longest Substring Without Repeating Characters
- 【leetcode】 Longest Substring Without Repeating Characters
- LeetCode-Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- [leetcode] Longest Substring Without Repeating Characters
- LeetCode - Longest Substring Without Repeating Characters
- LeetCode 3: Longest Substring Without Repeating Characters
- leetcode-3:Longest Substring Without Repeating Characters
- leetcode之Longest Substring Without Repeating Characters
- jq文字垂直滚动/滚屏效果
- upD79F8513A(NEC)或upD78F0511A(NEC)之定时器TM50
- Oracle中rownum与order by排序问题
- bzoj3718: [PA2014]Parking
- MySQL导出csv文件并分割成多列
- [LeetCode]Longest Substring Without Repeating Characters
- python_test_1
- ROSBridgeWebSocketConnection使用札记
- php -- 魔术方法、魔术常量 简单介绍
- 常用正则表达式大全
- 11g RAC INSTALL 准备工作part1
- 07:配对碱基链
- Mysql 插入 Emoji表情报错 Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
- ACL配置与管理——1