前言:
现时姐妹们对“java找到字符串最长子串”可能比较关心,朋友们都想要分析一些“java找到字符串最长子串”的相关知识。那么小编也在网摘上汇集了一些有关“java找到字符串最长子串””的相关资讯,希望大家能喜欢,姐妹们快快来学习一下吧!直接上题:
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:
输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:
输入: "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
解题思路,遍历字符串,记录临时最大的连续不重复长度,遇到重复的,立刻舍弃第一次出现的重复字符串及他前面的字符串
参见java代码:
class Solution { public int lengthOfLongestSubstring(String s) { int length = 0; int max = 0; List list = new ArrayList<String>(); for (int i = 0; i < s.length(); i++) { String tmpChar = String.valueOf(s.charAt(i)); if (list.contains(tmpChar)) { length = 0; int index= list.indexOf(tmpChar); for(int j=0;j<index+1;j++){ list.remove(0); } } list.add(tmpChar); length = list.size(); if (max < length) max = length; } return max; }}
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #java找到字符串最长子串