【发布时间】:2022-11-17 04:44:15
【问题描述】:
我正在寻找问题的解决方案“给定一个字符串 s,找到最长子字符串的长度而不重复字符。”
发布了以下解决方案,但我无法理解“dict”的作用。我试过在 C++ 中寻找文档。但是,我还没有发现任何东西。有人可以解释它是如何工作的以及我在哪里可以找到文档。谢谢
vector<int> dict(256, -1);
int maxLen = 0, start = -1;
for (int i = 0; i != s.length(); i++) {
if (dict[s[i]] > start)
start = dict[s[i]];
dict[s[i]] = i;
maxLen = max(maxLen, i - start);
}
return maxLen;
}
【问题讨论】:
-
这是一个变量的名字
-
它创建一个包含 256 个项目的向量,初始化为 -1
-
这是学习像这样的 C++ 基本概念的正确方法:open a C++ textbook 到第 1 章,在阅读本书的过程中继续阅读并做它的练习题,每个主题都以有组织的、循序渐进的方式介绍和解释。以下是学习 C++ 的错误方法:从一个充满无用编码谜题的网站上随机挑选一个编码谜题,然后运行关键字搜索,试图弄清楚每个编码谜题的解决方案是如何工作的。
标签: c++ dictionary