资金匹配
发布于 2022-03-03 17:16:32
现有一笔借款请求(target),借款需要从可用资金列表中(n笔)匹配k笔资金,请问有多少种匹配方案。
例如:借款金额10万,可用资金有8、7、3、2、1,则一共有3种匹配方案,分别(8,2)(7,3)(7,2,1)。
请将上述过程抽象成算法,并实现kSum函数。
说明:
1、n、k均为正整数,且k<=n
2、只考虑完全匹配的情况
import java.util.ArrayList import java.util.List import java.util.Scanner public class Main { // 匹配方案个数 public static int count = 0 public static void kSum(List<Integer> numbers, int target) { //实现逻辑 } public static void main(String[] args) { Scanner sc = new Scanner(System.in) String source = sc.nextLine() String[] str = source.split(",") List<Integer> in = new ArrayList<Integer>() for (int i = 0 i < str.length i++) in.add(Integer.parseInt(str[i])) int target = Integer.parseInt(sc.nextLine()) kSum(in, target) System.out.println(count) } }
可将上述代码复制到代码框,并实现kSum函数,也可以自行编码实现
输入描述:
第一行输入为可用资金金额列表,多个金额之间用逗号分隔第二行输入为借款金额输入样例: 8,2,1,1,1 10 输出描述: 满足条件的匹配方案个数,如没有满足条件的方案则输出0,相同的匹配方案可以重复计算个数输出样例 4
关注者
0
被浏览
2