2014. Longest Subsequence Repeated k Times (hard)
2021. 9. 21. 13:56ㆍAlgorithm
- 목차
반응형
s = "letsleetcode", k = 2
s에서 k번 반복하는 가장 긴 sub string을 찾아서 리턴
filtered = "".join(el*(freq//k) for el, freq in collections.Counter(s).items()) def dfs(n, sel, seq, res): if len(seq) == n: res.add(''.join(seq)) return for i in range(len(filtered)): if i in sel: continue dfs(n, sel + [i], seq + [filtered[i]], res) def is_subseq(sub, seq): seq = iter(seq) return all(c in seq for c in sub) combs = set() for i in range(1, len(filtered) + 1): dfs(i, [], [], combs) combs = sorted(combs, key=lambda p: (len(p), p), reverse=True) for c in combs: if is_subseq(c*k, s): return c return '' |
반응형
'Algorithm' 카테고리의 다른 글
차세대 지능형 교통시스템 (0) | 2021.09.28 |
---|---|
2008. Maximum Earnings From Taxi (Medium) (0) | 2021.09.21 |
2006. Count Number of Pairs With Absolute Difference K (0) | 2021.09.21 |
2013. Detect Squares (medium) (0) | 2021.09.21 |
2012. Sum of Beauty in the Array (Medium) (0) | 2021.09.21 |