LeetCode3270[求出数字答案]
题目
链接
详情
实例
实例1
实例2
实例3
提示
题解
思路
先依次取出 num1,num2,num3 的每位的位数
取最高位的时候,用数字除以1000,然后取10的余数
取第三位的时候,用数字除以100,然后取10的余数
取第二位的时候,用数字除以10,然后取10的余数
取最低位的时候,直接取10的余数
将每一位依次传入 getMinNum 函数,输出每一位的最小值,即为 key 对应位置上的值
然后再输出 key
代码
class Solution {
public:
int getMinNum(char num1, char num2, char num3)//取最小值
{
char cMin = num1;
if (cMin > num2)
cMin = num2;
if (cMin > num3)
cMin = num3;
return cMin;
}
int generateKey(int num1, int num2, int num3) {
int key4 = getMinNum(num1 / 1000 % 10, num2 / 1000 % 10, num3 / 1000 % 10);//最高位
int key3 = getMinNum(num1 / 100 % 10, num2 / 100 % 10, num3 / 100 % 10);//第二位
int key2 = getMinNum(num1 / 10 % 10, num2 / 10 % 10, num3 / 10 % 10);//第三位
int key1 = getMinNum(num1 % 10, num2 % 10, num3 % 10);//最低位
return key4 * 1000 + key3 * 100 + key2 * 10 + key1;
}
};
本文来自博客园,作者:EricsT,转载请注明原文链接:https://www.cnblogs.com/EricsT/p/18531871