Prompt: Given a list of unique coins and an amount k, we want to find the minimum number of coins that adds up to k.

Example:

Input: coins = [1,2,5], amount = 11
Output: 3
Explanation: 11 = 5 + 5 + 1
Input: coins = [2], amount = 3
Output: -1
Input: coins = [1], amount = 0
Output: 0
Input: coins = [1], amount = 1
Output: 1
Input: coins = [1], amount = 2
Output: 2

Solution: This seems like a DP because we can break this problem into subproblems. We can find the minimum number of coins that it adds up to the values from 0 to k. We can solve this with bottom up tabulation.