LeetCode problem#3270
Find the Key of the Numbers
Solved in 1 languageJava
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.
Problem statements belong to LeetCode and are on leetcode.com. We're not affiliated with LeetCode.