zoukankan      html  css  js  c++  java
  • done Beaconfire中国小哥中规中矩screening

    https://drive.google.com/drive/folders/1BTKV760sLnrdtP8WhGJQaqpZjoaEZhUd?usp=sharing

    如何避免kafka中的一个消息被消耗两次 -分区

    hashmap内部的结构是什么样的,两个值相同的object当作key size会是多少

    回溯法初始的index = 0,才能算出重复值 eg (1,3) (3,1)

    复杂度:数组元素个数n的(target)次方

     

    /**
    Given an array of distinct integers nums and a target integer target, return the number of possible combinations that add up to target.


    Input: nums = [1,2,3], target = 4
Output: 7
Explanation:
The possible combination ways are:

    (1, 1, 1, 1)
(1, 1, 2)
(1, 2, 1)
(1, 3)
(2, 1, 1)
(2, 2)
(3, 1)
Note that different sequences are counted as different combinations.
    result = [[1, 1, 1, 1], [1, 1, 2], [1, 3], [2, 2]]
    */
    import java.util.*;
    
    public class MyClass {
        public static void main(String args[]) {
          int[] nums = {1,2,3};
          int target = 4;
          
          List<List<Integer>> result = new ArrayList<List<Integer>>();
          //sort
          Arrays.sort(nums);
          
          backtrace(nums, 0, new ArrayList<>(), result, 0, target);
          
          System.out.println("result = " + result);
          System.out.println("result.size() = " + result.size());
        }
        
        public static void backtrace(int[] nums, int start, List<Integer> temp, 
        List<List<Integer>> result, int currSum, int target) {
            //exit case
            if (currSum == target) {
                result.add(new ArrayList<>(temp));
            }else if (currSum > target) {
                return ;
            }else {
                for (int i = 0; i < nums.length; i++) {
                    //handle duplicate
                    // if (temp.contains(nums[i]))
                    //     continue;
                    
                    //backtrace
                    temp.add(nums[i]);
                    backtrace(nums, i, temp, result, currSum + nums[i], target);
                    temp.remove(temp.size() - 1);
                }
            }
        }
    }
    View Code

     

  • 相关阅读:
    将博客搬至CSDN
    linux一部分常用的命令
    java实现qq邮箱每天定时发送邮件
    面向接口编程的小例子
    解决安装mysql的”A Windows service with the name MySQL already exists.“问题
    SpringCloud 随笔
    博客文章链接
    LocalDate与Date转化
    maven的配置以及使用
    windows系统下nginx+tomcat+redis做负载均衡和session粘滞附整套解决方案
  • 原文地址:https://www.cnblogs.com/immiao0319/p/15328277.html
Copyright © 2011-2022 走看看