List<List<Integer>> lists = new ArrayList<>(); private int sumCounts(String t, int k) { List<Integer> sublist = new ArrayList<>(); dfs(t, k, 0, sublist); return lists.size(); } private void dfs(String t, int k, int start, List<Integer> sublist) { int sum = 0; for (int i = 0; i < sublist.size(); i++) { if (sublist.get(0)<0)return; sum += sublist.get(i); } if (sum == k && start == t.length()) { lists.add(new ArrayList(sublist)); return; } if (sublist.size() == t.length()) return; for (int i = start; i < t.length(); i++) { int i1 = Integer.parseInt(t.substring(start, i + 1)); sublist.add(i1); dfs(t, k, i + 1, sublist); sublist.remove(sublist.size() - 1); sublist.add(-i1); dfs(t, k, i + 1, sublist); sublist.remove(sublist.size() - 1); }
1 1

相关推荐

11-07 16:07
深圳大学 运营
前端飞升:学长,阿里不是卡双非吗,我深也能去吗
点赞 评论 收藏
分享
用微笑面对困难:你出于礼貌叫了人一声大姐,大姐很欣慰,她真把你当老弟
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务