Loading
Leetcode / 3270. Find the Key of the Numbers

Pick a programming language:

Here is the source code for the solution to this problem.

class Solution {
    public int generateKey(int num1, int num2, int num3) { 
        int key = 0;

        int n1 = num1;
        int n2 = num2;
        int n3 = num3; 
        for (int i = 0; i < 4; i++) {
            int d1 = n1 % 10;
            int d2 = n2 % 10;
            int d3 = n3 % 10;
            int digit = Math.min(d1, Math.min(d2, d3));
            
            key += digit * Math.pow(10, i);

            n1 /= 10;
            n2 /= 10;
            n3 /= 10;
        }

        return key;
    }

    // hardcoded version, repeated version without loop, given the constraints.
    // key = k[3] * 10^3 + k[2] * 10^2 + k[1] * 10^1 + k[0] * 10^0
    // key = k[3] * 1000 + k[2] * 100 + k[1] * 10 + k[0]
    // public int generateKey(int num1, int num2, int num3) {
    //     // int key = 0;

    //     int n1 = num1;
    //     int n2 = num2;
    //     int n3 = num3; 

    //     int d1 = n1 % 10;
    //     int d2 = n2 % 10;
    //     int d3 = n3 % 10;

    //     int k0 = Math.min(d1, Math.min(d2, d3));

    //     n1 /= 10;
    //     n2 /= 10;
    //     n3 /= 10;

    //     d1 = n1 % 10;
    //     d2 = n2 % 10;
    //     d3 = n3 % 10;

    //     int k1 = Math.min(d1, Math.min(d2, d3));

    //     n1 /= 10;
    //     n2 /= 10;
    //     n3 /= 10;

    //     d1 = n1 % 10;
    //     d2 = n2 % 10;
    //     d3 = n3 % 10;

    //     int k2 = Math.min(d1, Math.min(d2, d3));

    //     n1 /= 10;
    //     n2 /= 10;
    //     n3 /= 10;

    //     d1 = n1 % 10;
    //     d2 = n2 % 10;
    //     d3 = n3 % 10;

    //     int k3 = Math.min(d1, Math.min(d2, d3));

    //     n1 /= 10;
    //     n2 /= 10;
    //     n3 /= 10;

    //     d1 = n1 % 10;
    //     d2 = n2 % 10;
    //     d3 = n3 % 10;

    //     return k3 * 1000 + k2 * 100 + k1 * 10 + k0;
    // }
}
Did you like the lesson? 😆👍
Consider a donation to support our work: