# 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 ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up