LeetCode3270[求出數字答案]

EricsT發表於2024-11-07

題目

連結

LeetCode3270[求出數字答案]

詳情

LeetCode3270[求出數字答案]

例項

例項1

LeetCode3270[求出數字答案]

例項2

LeetCode3270[求出數字答案]

例項3

LeetCode3270[求出數字答案]

提示

LeetCode3270[求出數字答案]

題解

思路

先依次取出 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;
    }
};

相關文章