卖不甜枣 发表于 2024-11-7 10:14:42

LeetCode3270[求出数字答案]

题目

链接

LeetCode3270[求出数字答案]
详情

https://img2024.cnblogs.com/blog/3512406/202411/3512406-20241107114837081-1234660232.png
实例

实例1

https://img2024.cnblogs.com/blog/3512406/202411/3512406-20241107114846908-1997337990.png
实例2

https://img2024.cnblogs.com/blog/3512406/202411/3512406-20241107114856245-896902178.png
实例3

https://img2024.cnblogs.com/blog/3512406/202411/3512406-20241107114902936-1693254735.png
提示

https://img2024.cnblogs.com/blog/3512406/202411/3512406-20241107114907728-1177891229.png
题解

思路

先依次取出 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;
    }
};
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: LeetCode3270[求出数字答案]