Loading

LeetCode problem#3270

Find the Key of the Numbers

Solved in 1 languageJava

Solve it on LeetCode(opens in a new tab)

Solution

80 lines
1class Solution {
2    public int generateKey(int num1, int num2, int num3) { 
3        int key = 0;
4
5        int n1 = num1;
6        int n2 = num2;
7        int n3 = num3; 
8        for (int i = 0; i < 4; i++) {
9            int d1 = n1 % 10;
10            int d2 = n2 % 10;
11            int d3 = n3 % 10;
12            int digit = Math.min(d1, Math.min(d2, d3));
13            
14            key += digit * Math.pow(10, i);
15
16            n1 /= 10;
17            n2 /= 10;
18            n3 /= 10;
19        }
20
21        return key;
22    }
23
24    // hardcoded version, repeated version without loop, given the constraints.
25    // key = k[3] * 10^3 + k[2] * 10^2 + k[1] * 10^1 + k[0] * 10^0
26    // key = k[3] * 1000 + k[2] * 100 + k[1] * 10 + k[0]
27    // public int generateKey(int num1, int num2, int num3) {
28    //     // int key = 0;
29
30    //     int n1 = num1;
31    //     int n2 = num2;
32    //     int n3 = num3; 
33
34    //     int d1 = n1 % 10;
35    //     int d2 = n2 % 10;
36    //     int d3 = n3 % 10;
37
38    //     int k0 = Math.min(d1, Math.min(d2, d3));
39
40    //     n1 /= 10;
41    //     n2 /= 10;
42    //     n3 /= 10;
43
44    //     d1 = n1 % 10;
45    //     d2 = n2 % 10;
46    //     d3 = n3 % 10;
47
48    //     int k1 = Math.min(d1, Math.min(d2, d3));
49
50    //     n1 /= 10;
51    //     n2 /= 10;
52    //     n3 /= 10;
53
54    //     d1 = n1 % 10;
55    //     d2 = n2 % 10;
56    //     d3 = n3 % 10;
57
58    //     int k2 = Math.min(d1, Math.min(d2, d3));
59
60    //     n1 /= 10;
61    //     n2 /= 10;
62    //     n3 /= 10;
63
64    //     d1 = n1 % 10;
65    //     d2 = n2 % 10;
66    //     d3 = n3 % 10;
67
68    //     int k3 = Math.min(d1, Math.min(d2, d3));
69
70    //     n1 /= 10;
71    //     n2 /= 10;
72    //     n3 /= 10;
73
74    //     d1 = n1 % 10;
75    //     d2 = n2 % 10;
76    //     d3 = n3 % 10;
77
78    //     return k3 * 1000 + k2 * 100 + k1 * 10 + k0;
79    // }
80}

Want a walkthrough of this Java solution?

Get a step-by-step explanation of the idea behind the code.

All problems

Problem statements belong to LeetCode and are on leetcode.com. We're not affiliated with LeetCode.