在 Python 中查找子数组上的最小增量数以形成目标数组的程序
假设我们有一个名为target的数组,其值为正。现在考虑一个大小相同且全为零的数组初始值。如果我们执行此操作,我们必须找到从初始值生成目标数组所需的最小操作数:(从初始值中选择任何子数组并将每个值加一。)
因此,如果输入类似于target=[2,3,4,3,2],那么输出将是4,因为最初数组是[0,0,0,0,0]首先通过选择子数组从索引0到4并将其增加1,因此数组将是[1,1,1,1,1],然后再次从索引0到4中选择使其成为[2,2,2,2,2],然后从中选择元素索引1到3并增加,因此数组将是[2,3,3,3,2],最后选择索引2并制作与目标相同的数组[2,3,4,3,2]。
示例
让我们看下面的实现来更好地理解
def solve(target):
prev_num = 0
steps = 0
for val in target:
steps += val-prev_num if val > prev_num else 0
prev_num = val
return steps
target = [2,3,4,3,2]
print(solve(target))输入
[2,3,4,3,2]输出结果
4
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下