• 力扣(LeetCode)试题3-无重复字符的最长子串 C++代码


    感想:今天学到了新知识,unordered_set与unorder_map数据类型,可以提供查找(find)、移除(erase)与插入(insert)功能。

    这个程序在报错→调试→报错→调试…中完成。

     1 #include <iostream>
     2 #include <string>
     3 #include <unordered_set>
     4 
     5 using namespace std;
     6 
     7 class Solution 
     8 {
     9 public:
    10     int lengthOfLongestSubstring(string s) 
    11     {
    12         if (s.size() == 0) return 0;
    13         unordered_set<char> str;//第一次学习这种容器,不能放入重复元素,提供了插入、删除、查询功能,容器名字叫lookup,容器内的元素类型为char
    14         int lenth = 0;
    15         int left = 0;
    16 
    17         for (int i = 0; i < s.size(); i++)//遍历输入的串
    18         {
    19             while (str.find(s[i]) != str.end())//如果找到了
    20             {
    21                 if (str.size() > lenth)
    22                 {
    23                     lenth = str.size();//先将当前的str长度给lenth,然后再操作str
    24                 }
    25                 str.erase(s[left]);    
    26                 left += 1;            
    27             }
    28 
    29             while (str.find(s[i]) == str.end())//如果在容器中找到了s[i]元素,fimd函数会返回一个迭代器;否则返回end()
    30                 //如果没找到,则在容器中插入该元素
    31             {
    32                 str.insert(s[i]);
    33             }
    34         }
    35         if (str.size() > lenth)
    36             lenth = str.size();
    37         return lenth;
    38 
    39     }
    40 };
    41 
    42 
    43 int main()
    44 {
    45     int result;
    46     string s = "ab";
    47     Solution sol;
    48     result = sol.lengthOfLongestSubstring(s);
    49     cout << result << endl;
    50 
    51     int u;
    52     cin >> u;
    53     return 0;
    54 }

  • 相关阅读:
    nginx2
    nginx1
    将Tomcat设置为自动启动的服务最快捷方法
    keepalived VS zookeeper
    Linux CentOS 7 下 Apache Tomcat 7 安装与配置
    使用curl 命令模拟POST/GET请求
    netty3---传统IO,NIO,nettyIO
    个人或小型企业站该如何选择服务器?
    如果你不懂备案,那我简单点跟你说
    SAE Java相关问题小结
  • 原文地址:https://www.cnblogs.com/pgzhanglin/p/13308105.html
Copyright © 2020-2023  润新知