【华为OD机试真题 python】组装新的数组【2023 Q1 | 200分】

题目描述

【组装新的数组】

给你一个整数M和数组N,N中的元素为连续整数,要求根据N中的元素组装成新的数组R,组装规则:

1.R中元素总和加起来等于M

2.R中的元素可以从N中重复选取

3.R中的元素最多只能有1个不在N中,且比N中的数字都要小(不能为负数)


Python代码实现:

输入描述

第一行输入是连续数组N,采用空格分隔
第二行输入数字M

输出描述

输出的是组装办法数量,int类型

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

2
5

输出

1

Python代码实现一:

def dfs(arr: [int], index: int, sum: int, minn: int, m: int, count: int) -> int:
    if sum > m:
        return count
    if sum == m or m - sum < 

猜你喜欢

转载自blog.csdn.net/xiao_pengjy/article/details/129271352