---
# System prepended metadata

title: 2195. Append K Integers With Minimal Sum
tags: [Leetcode, Medium, Math, Greedy]

---

# 2195. Append K Integers With Minimal Sum
###### tags: `Leetcode` `Medium` `Math` `Greedy`
Link: https://leetcode.com/problems/append-k-integers-with-minimal-sum/description/
## 思路
思路参考[这里](https://leetcode.com/problems/append-k-integers-with-minimal-sum/description/)
先假设需要补的数字是1～k
然后我们遍历所有unique number
如果发现一个小于等于k的数字已经出现了 说明不能再append这个integer了 我们需要从res里面删除这个integer并补上别的更大的integer也就是k+1
概括来说就是先假设有1～k k个洞 如果发现某一个小于k的值不能当洞 我们就要扩大k 把前面的洞补上 在后面填一个洞 来保证洞的总数有k个
## Code
```python=
class Solution:
    def minimalKSum(self, nums: List[int], k: int) -> int:
        res = (k*(k+1))//2
        for num in sorted(set(nums)):
            if num<=k:
                res += k+1-num
                k+=1
        return res
```