题解 题解 | #填充数组#
题解 | #填充数组#
填充数组

给我们一个数组a,由自然数组成,以及一个最大值k.我们要把所有的0换成1~k中的某个值(可以重复),保持数组是递增的(这里的递增不是单调的).问一共有多少种方法.
暴力枚举(会超时)
最简单且容易想到的方法就是列举出数组所有可能的取值,再判断是否满足递增,如果满足,种数加1.这里使用深度优先搜索,当前位置为0时,枚举所有可能的取值并递归;当前位置非0时跳过.边界条件为递归到最后一位且满足题目要求,此时种数加1.注意在递归时要