javascript - 不重复字符的最长子串(for循环方式)
问题描述
LeetCode 问题 #3
https://leetcode.com/problems/longest-substring-without-repeating-characters/
输入:“abcabcbb”
输出:3
解释:答案是“abc”,长度为3。
var lengthOfLongestSubstring = function(s) {
var arr = s.split("");
var fArr = [arr[0]];
var x = fArr.length;
for (var i = 1; i < arr.length; i++) {
for (var j = i - 1; j < x; j++) {
if (arr[i] !== fArr[j]) {
fArr = [fArr[j] + arr[i]]; //fArr=['ab']
x = fArr[j].length;
} else {
fArr.push(',');
fArr.push(arr[i]);
}
}
}
console.log(fArr);
};
lengthOfLongestSubstring("abcabcbb");
我想在每次执行 for 循环时改变 x = fArr[j].length,因此它可能基于更新的 fArr 长度来运行 fArr 中的所有元素,但它显示“未捕获的 TypeError:无法读取属性 'length'未定义”,有人知道为什么吗?
解决方案
推荐阅读
- javascript - 为 Puppeteer 适配 web-scraper JavaScript 代码
- reverse-proxy - 如何在 HAProxy 中使用“url_dec”功能?
- spring - 在 Spring Project Reactor 中重新启动上游发布者时清除流中的飞行中元素?
- python - Selenium for 循环遍历整个网站
- c++ - linux中的UDP sendto会返回ENOBUFS吗?
- angularjs - 更新 intl-tel-input 插件不返回输入值
- python - 如何使用 matplotlib 创建多个饼图
- c - 我怎样才能从这个字符串中得到一个浮点值?C 编程
- r - R循环从FTP中提取CSV文件
- java - 在 Spring Boot 的非 bean 类中使用 @value