shein笔试 提交用例0%
class Solution {
int res = Integer.MIN_VALUE;
List<String> list = new ArrayList<>();
public String[] lengthOfLongestSubstring(String input) {
int len = s.length();
if(len == 0) return null;
if(len == 1) return new String[]{input};
int start = 0;
Map<Character, Integer> map = new HashMap<>();
for (int i = 0; i < len; i++) {
char ch = input.charAt(i);
if (map.containsKey(ch)) {
int index = map.get(ch);
if (start <= index && index < len) {
int temp = start;
start = index + 1;
int newLen = i - start + 1;
if (newLen == res) {
if (i != len - 1) list.add(input.substring(start, i + 1));
else list.add(input.substring(start));
}else if (newLen > res) {
res = newLen;
list = new ArrayList<>();
if (i - temp == newLen) list.add(input.substring(temp, i));
list.add(input.substring(start, i + 1));
}
}
}
map.put(ch, i);
}
String temp = input.substring(start);
if (temp.length() > res) {
res = temp.length();
list = new ArrayList<>();
list.add(temp);
}
if (res != Integer.MIN_VALUE) {
String[] strs = new String[list.size()];
for(int i = 0; i < list.size(); i++) {
strs[i] = list.get(i);
//System.out.println(strs[i]);
return strs;
}
} else return null;
}
}
代码是结束之后自己重新敲的,可能有不一致的地方吧。
题目是力扣第三题 无重复字符的最长子串 改了一下,不再返回最长长度,返回达到最长长度的子字符串数组。
测试用例都过了,但是提交显示用例0%。玉玉了。
#我的实习求职记录#