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-11 16:40
已编辑
门头沟学院 人工智能
不知道怎么取名字_:这个有点不合理了,相当于已经毕业了,但还是没转正,这不就是白嫖
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务