题目
解析
很容易想到用长度10的数组,存放数字0~9的剩余卡片数,下标代表数字,元素代表卡片剩余张数。从1开始递增遍历,当出现某个数,拼成这个数的任一张卡片的数量少于0,说明当前这个数不能拼出,输出上一个数就是答案。
细想一下,从1开始,那么消耗卡片1的数量始终是最多的,卡片1剩余数量最先小于0,所以只需要维护卡片1的数量,也可以求出结果
答案
3181
代码
public class B {
static int num = 1;
static int card =2021;
public static void main(String[] args) {