LeetCode in Kotlin

2310. Sum of Numbers With Units Digit K

Medium

Given two integers num and k, consider a set of positive integers with the following properties:

Return the minimum possible size of such a set, or -1 if no such set exists.

Note:

Example 1:

Input: num = 58, k = 9

Output: 2

Explanation:

One valid set is [9,49], as the sum is 58 and each integer has a units digit of 9.

Another valid set is [19,39].

It can be shown that 2 is the minimum possible size of a valid set.

Example 2:

Input: num = 37, k = 2

Output: -1

Explanation: It is not possible to obtain a sum of 37 using only integers that have a units digit of 2.

Example 3:

Input: num = 0, k = 7

Output: 0

Explanation: The sum of an empty set is considered 0.

Constraints:

Solution

class Solution {
    fun minimumNumbers(nums: Int, k: Int): Int {
        // Base Case Check
        if (nums == 0) {
            return 0
        }
        val x = nums % 10
        for (i in 1..10) {
            // check if the unit digits are equal for any case and if n>k*i
            if (k * i % 10 == x && nums >= k * i) {
                return i
            }
        }
        // in case nothing matches
        return -1
    }
}