【秋招笔试题】阵营分配


解法:简单背包题。

python 复制代码
def solve(nums):
    n = len(nums)
    totalSum = sum(nums)

    dp = [[False] * (totalSum // 2 + 1) for _ in range(n + 1)]

    for i in range(n + 1):
        dp[i][0] = True

    for i in range(1, n + 1):
        for j in range(1, totalSum // 2 + 1):
            if nums[i - 1] <= j:
                dp[i][j] = dp[i - 1][j] or dp[i - 1][j - nums[i - 1]]
            else:
                dp[i][j] = dp[i - 1][j]

    minDiff = totalSum
    for j in range(totalSum // 2, -1, -1):
        if dp[n][j]:
            minDiff = totalSum - 2 * j
            break

    return minDiff

if __name__ == "__main__":
    n = int(input())
    nums = list(map(int, input().split()))

    result = solve(nums)
    print(result)
相关推荐
IT大白鼠12 小时前
AIGC性能的关键瓶颈:算力、数据、算法三者如何互相制约?
算法·aigc
白雪茫茫13 小时前
监督学习、半监督学习、无监督学习算法详解
python·学习·算法·ai
FengyunSky13 小时前
浅析 空间频率响应 SFR 计算
算法
树下水月13 小时前
PHP 一种改良版的雪花算法
算法·php·dreamweaver
一只数据集14 小时前
全尺寸人形机器人灵巧手力觉触觉数据集-2908条ROSbag数据覆盖14大应用场景深度解析
大数据·人工智能·算法·机器人
罗西的思考15 小时前
【GUI-Agent】阿里通义MAI-UI 代码阅读(2)--- 实现
人工智能·算法·机器学习
刀法如飞16 小时前
TypeScript 数组去重的 20 种实现方式,哪一种你还不知道?
前端·javascript·算法
sali-tec17 小时前
C# 基于OpenCv的视觉工作流-章66-直线夹角
图像处理·人工智能·opencv·算法·计算机视觉
AC赳赳老秦17 小时前
接口测试自动化:用 OpenClaw 对接 Postman,实现批量回归测试、测试报告自动生成与推送
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
_风满楼17 小时前
TDD实战-会议室冲突检测的红绿重构循环
前端·javascript·算法