同位字符串连接的最小长度

给你一个字符串 s ,它由某个字符串 t 和若干 t 的 同位字符串 连接而成。
请你返回字符串 t 的 最小 可能长度。
同位字符串 指的是重新排列一个单词得到的另外一个字符串,原来字符串中的每个字符在新字符串中都恰好只使用一次。

  • 输入:s = “abba”
    输出:2
    解释:
    一个可能的字符串 t 为 “ba” 。

  • 输入:s = “cdef”
    输出:4
    解释:
    一个可能的字符串 t 为 “cdef” ,注意 t 可能等于 s 。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var minAnagramLength = function(s) {
let m = s.length
let n = m/2
let i = 1
while(i<=n){
if(m%i==0){
let p = new Set()
let j = 0
while(j<m/i){
let d = s.slice(j*i,(j+1)*i).split('').sort((a,b)=>a.charCodeAt()-b.charCodeAt()).join('')
p.add(d)
j++
if(p.size>1) break
}
if(p.size==1) return i
}
i++
}
return m
};