zoukankan      html  css  js  c++  java
  • roblox OA lifting weights 自己根据subsets改的

    class Solution {
        public List<List<Integer>> combinationSum2(int[] nums, int target) {
            //cc
            int result = 0;
            int difference = Math.MAX_VALUE;
    
            if (nums == null || nums.length == 0)
                return result;
            
            //排序一下
            Arrays.sort(nums);
            
            backtrace(nums, new ArrayList<Integer>(), 0, 0,
                             target, difference, result);
            
            return result;
        }
        
        public void backtrace(int[] nums, List<Integer> temp, int start, 
                              int currentSum,
                              int target, int difference, int result) {
            //exit
            if (currentSum > target) {
                return ;
            }else {
                if (target - currentSum < difference) {
                    difference = target - currentSum;
                    result = currentSum;
                }
    
                for (int i = start; i < nums.length; i++) {
                    if (i > start && nums[i] == nums[i - 1]) //重复的压根不能用
                        continue;
                
                    temp.add(nums[i]);
                    backtrace(nums, temp, i, currentSum + nums[i],
                             target, difference, result);
                    temp.remove(temp.size() - 1);
                }
            }
        }
    }
    View Code
  • 相关阅读:
    数组
    对象
    js继承
    js原型原型链
    es6(初级)
    canvas背景
    Angular.js进阶
    Angular.js-2入门
    angular.js-1初识
    js之广告
  • 原文地址:https://www.cnblogs.com/immiao0319/p/14162485.html
Copyright © 2011-2022 走看看