leetcode每日一题——k-avoiding 数组的最小总和

给你两个整数 nk

对于一个由 不同 正整数组成的数组,如果其中不存在任何求和等于 k 的不同元素对,则称其为 k-avoiding 数组。

返回长度为 nk-avoiding 数组的可能的最小总和。

示例 1:

复制代码
输入:n = 5, k = 4
输出:18
解释:设若 k-avoiding 数组为 [1,2,4,5,6] ,其元素总和为 18 。
可以证明不存在总和小于 18 的 k-avoiding 数组。

示例 2:

复制代码
输入:n = 2, k = 6
输出:3
解释:可以构造数组 [1,2] ,其元素总和为 3 。
可以证明不存在总和小于 3 的 k-avoiding 数组。

方法一:hash检测

TypeScript 复制代码
function minimumSum(n: number, k: number): number {
    let sum = 0
    const set = new Set<Number>()
    for(let i = 1;n != 0; i++) {
        if (!set.has(k - i)) {
            set.add(i)
            sum += i
            n--
        }
    }
    return sum;
};

结果:

方法二:暴力法

TypeScript 复制代码
function minimumSum(n: number, k: number): number {
    const list = new Array();
    loop:for (let i = 1; n != 0; i++) {
        for (let j = 0;j < list.length;j++){
            if (i + list[j] == k) {
                continue loop
            }
        }
        list.push(i)
        n--
    }
    return list.reduce((a, b) => a + b);
};

结果:

相关推荐
浦信仿真大讲堂20 分钟前
达索系统SIMULIA Abaqus 2026接触和约束的增强新功能介绍
人工智能·python·算法·仿真软件·达索软件
点云侠30 分钟前
PCL 生成三棱锥点云
c++·算法·最小二乘法
代码中介商38 分钟前
跳表:高效查找的链表黑科技
数据结构
兰令水41 分钟前
leecodecode【面试150】【2026.6.13打卡-java版本】
java·算法·leetcode
临沂堇1 小时前
刷题日志 | Leetcode Hot 100 哈希
算法·leetcode·哈希算法
玉小格1 小时前
一次关于Python的总结
算法
伊甸31 小时前
从企业级项目学敏感词过滤:DFA算法与双层缓存实战
java·算法·缓存
bIo7lyA8v1 小时前
算法中的随机化思想及其复杂度收益评估的技术8
算法
数据法师1 小时前
视频文件重复检测工具:基于哈希与视频指纹的三级筛选机制
算法·音视频·哈希算法
其实防守也摸鱼2 小时前
软件安全与漏洞--Windows底层原理与软件逆向工程基础
linux·网络·数据库·算法·安全·安全架构·软件安全与漏洞