The k-th Lexicographical String of All Happy Strings of Length n
定义一个happy string, 求第k个字典序的happy string是什么.
暴力解, 好像没有什么简化方法.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
class Solution { public String getHappyString(int n, int k) { List<String> list = new ArrayList<>(); dfs(n, list, "", new char[]{'a', 'b', 'c'}); if(k < 0 || k > list.size()) return ""; else return list.get(k - 1); } public void dfs(int n, List<String> list, String s, char[] c) { if(n == s.length()){ list.add(s); return; } for(char cc : c) { if(s.isEmpty()) dfs(n, list, s+cc,c); else { if(s.charAt(s.length() - 1) != cc) dfs(n, list, s+cc, c); } } } } |