leetcode 6450. 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 数组。 

提示:

  • 1 <= n, k <= 50

C++

cpp 复制代码
class Solution {
public:
    int minimumSum(int n, int k) {
        unordered_map<int,int> neg;
        int res=0;
        int i=1;
        int count=0;
        while(i<=n) {
            if(neg.find(i)==neg.end()) {
                res+=i;
                count++;
                if(k-i!=i) {
                    neg[k-i]=1;
                }
            }
            i++;
        }
        while(count<n) {
            if(neg.find(i)==neg.end()) {
                count++;
                res+=i;
            }
            i++;
        }
        return res;
    }
};
相关推荐
忘梓.4 分钟前
解锁动态规划的奥秘:从零到精通的创新思维解析(9)
算法·动态规划·代理模式
东雁西飞6 分钟前
MATLAB 控制系统设计与仿真 - 34
开发语言·单片机·算法·matlab·工业机器人
SsummerC33 分钟前
【leetcode100】杨辉三角
python·leetcode·动态规划
杰杰批34 分钟前
力扣热题100——普通数组(不普通)
算法·leetcode
CodeSheep34 分钟前
稚晖君又添一员猛将!
人工智能·算法·程序员
天天扭码35 分钟前
一分钟解决“3.无重复字符的最长字串问题”(最优解)
前端·javascript·算法
风靡晚40 分钟前
一种改进的CFAR算法用于目标检测(解决多目标掩蔽)
人工智能·算法·目标检测·目标跟踪·信息与通信·信号处理
香宝的最强后援XD1 小时前
区域填充算法
算法
所以遗憾是什么呢?1 小时前
扩展欧几里得算法【Exgcd】的内容与题目应用
数学·算法·数论·扩展欧几里得·exgcd
haaaaaaarry1 小时前
【贪心】C++ 活动安排问题
开发语言·c++·算法·贪心