java
public static String maxSameSubstring(String str) {
String nstr = "";
if (str == null || str.length() == 0) return nstr;
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < str.length(); i++) {
for (int j = i + 1; j <= str.length(); j++) {
String s = str.substring(i, j);
if (list.contains(s)) {
if (s.length() > nstr.length()) nstr = s;
}
list.add(s);
}
}
return nstr;
}
js
function maxSameSubstring(str) {
if (!str) return str
let arr = []
let newStr = ''
for (let i = 0; i < str.length; i++) {
for (let j = i + 1; j <= str.length; j++) {
let s = str.substring(i, j)
if (arr.indexOf(s) > -1 && newStr.length < s.length) {
newStr = s
}
arr.push(s)
}
}
return newStr
}