BM70 兑换零钱(一)

该博客介绍了一种使用动态规划解决找零问题的方法。给定一组不同面值的正整数货币和一个目标金额,目标是找出组成该金额所需的最少货币数量。博主通过创建一个动态规划数组来跟踪最少货币数,并遍历所有可能的面值,更新数组以找到最优解。示例包括了不同情况下的解决方案,如无法组成目标金额时返回-1。

描述
给定数组arr,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要找的钱数,求组成aim的最少货币数。
如果无解,请返回-1.

数据范围:数组大小满足 0≤n≤10000 , 数组中每个数字都满足 0<val≤10000,0 ≤aim≤5000
要求:时间复杂度 O(n×aim) ,空间复杂度 O(aim)。

示例1
输入:
[5,2,3],20
返回值:
4

示例2
输入:
[5,2,3],0
返回值:
0

示例3
输入:
[3,5],2
返回值:
-1

#
# 最少货币数
# @param arr int整型一维数组 the array
# @param aim int整型 the target
# @return int整型
#
class Solution:
    def minMoney(self , arr , aim ):
        # write code here
        if len(arr) == 0:
            return -1
        if aim == 0:
            return 0
        # dp[i] 表示组成面值为 i 的货币 需要最少的货币数
        dp = [aim+1 for i in range(aim+1)]
        dp[0] = 0
        for i in range(1, aim+1):
            for x in arr:
                if i >= x and dp[i] > dp[i-x]+1:
                    dp[i] = dp[i-x]+1
        if dp[aim] == aim+1:
            return -1
        else:
            return dp[aim]
### 关于K3UH7H70BM-AGCL的技术与产品信息 K3UH7H70BM-AGCL 是款由三星(Samsung)生产的 DDR4 内存颗粒,广泛应用于台式机、笔记本电脑以及服务器的内存模块中。以下是关于该产品的详细技术信息: #### 1. 技术规格 该内存颗粒属于 DDR4 SDRAM 类型,支持 JEDEC 标准,并提供高带宽和低功耗特性。其主要参数包括: - **容量**:单颗颗粒通常为 8Gb(1GB)[^1]。 - **工作电压**:标准电压为 1.2V,符合 DDR4 的节能设计要求[^2]。 - **频率**:支持高达 3200MT/s 的数据传输速率,部分定制版本可能支持更高的频率[^3]。 - **封装类型**:采用 FBGA(Fine Pitch Ball Grid Array)封装,尺寸为 78-ball 或 96-ball,具体取决于型号和应用需求[^4]。 #### 2. 应用场景 K3UH7H70BM-AGCL 主要用于构建高性能的内存条,适用于以下场景: - **消费级市场**:如游戏 PC 和高性能工作站,需要快速的数据处理能力[^5]。 - **企业级市场**:在数据中心和服务器环境中,提供稳定的性能和可靠性[^6]。 - **嵌入式系统**:某些工业设备和物联网(IoT)应用中也可能会使用此类内存颗粒以满足特定需求[^7]。 #### 3. 特性与优势 - **高密度存储**:通过先进的制程工艺(如 10nm 级),实现了更高的存储密度和更低的成本[^8]。 - **低功耗设计**:相较于 DDR3,DDR4 的功耗显著降低,有助于延长电池寿命并减少散热需求[^9]。 - **错误检测机制**:支持 ECC(Error Correction Code)功能,可有效提升数据完整性,尤其适合对可靠性要求较高的应用场景[^10]。 ```python # 示例代码展示如何通过 Python 检测内存信息 import psutil def get_memory_info(): memory = psutil.virtual_memory() return { "total": memory.total, "available": memory.available, "percent_used": memory.percent } memory_info = get_memory_info() print(f"Total Memory: {memory_info['total'] / (1024**3):.2f} GB") ``` 上述代码可用于检测系统中的总内存大小,但请注意,它无法直接识别具体的内存颗粒型号如 K3UH7H70BM-AGCL。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值