LeetCode3270[求出数字答案]

题目

链接

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;
    }
};
posted @   EricsT  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
点击右上角即可分享
微信分享提示