public static void dfs(List<List<Integer>> res, List<Integer> tmp, int[] nums, int sum, int x, int startIndex, boolean[] visited) { if (startIndex > nums.length) { return; } if (sum >= x) { res.add(new ArrayList<>(tmp)); } for (int i = startIndex; i < nums.length; i++) { if(visited[i]) { continue; } //如果存在不连续,则直接return if(i > 1 &;&; visited[i - 1] == false &;&; visited[i - 2]) { return; } visited[i] = true; sum += nums[i]; tmp.add(nums[i]); dfs(res, tmp, nums, sum, x, i + 1, visited); sum -= nums[i]; tmp.remove(tmp.size() - 1); visited[i] = false; } }
点赞 评论

相关推荐

完美的潜伏者许愿简历通过:我上表jd,请求封我做后端大将军的事,北京有消息了:竟然不许!!! 他们一定是看我没有实习,这才故意驳回我的请求!
点赞 评论 收藏
分享
牛客网
牛客企业服务