題目描述:
給你三個?正?整數?num1
?,num2
?和?num3
?。
數字?num1
?,num2
?和?num3
?的數字答案?key
?是一個四位數,定義如下:
- 一開始,如果有數字?少于?四位數,給它補?前導 0?。
- 答案?
key
?的第?i
?個數位(1 <= i <= 4
)為?num1
?,num2
?和?num3
?第?i
?個數位中的?最小?值。
請你返回三個數字?沒有?前導 0 的數字答案。
示例 1:
輸入:num1 = 1, num2 = 10, num3 = 1000
輸出:0
解釋:
補前導 0 后,num1
?變為?"0001"
?,num2
?變為?"0010"
?,num3
?保持不變,為?"1000"
?。
- 數字答案?
key
?的第?1
?個數位為?min(0, 0, 1)
?。 - 數字答案?
key
?的第?2
?個數位為?min(0, 0, 0)
?。 - 數字答案?
key
?的第?3
?個數位為?min(0, 1, 0)
?。 - 數字答案?
key
?的第?4
?個數位為?min(1, 0, 0)
?。
所以數字答案為?"0000"
?,也就是 0 。
示例 2:
輸入:?num1 = 987, num2 = 879, num3 = 798
輸出:777
示例 3:
輸入:num1 = 1, num2 = 2, num3 = 3
輸出:1
提示:
1 <= num1, num2, num3 <= 9999
題解:
class Solution {public int generateKey(int num1, int num2, int num3) {int ans = 0, p = 1;while (num1 > 0 && num2 > 0 && num3 > 0) {ans += Math.min(Math.min(num1 % 10, num2 % 10), num3 % 10) * p;p *= 10;num1 /= 10;num2 /= 10;num3 /= 10;}return ans;}
}