leetcode易混淆數c

2021-09-19 07:41:07 字數 1111 閱讀 1297

給定乙個數字 n,當它滿足以下條件的時候返回 true:

把原數字旋轉180°以後得到新的數字。

如 0, 1, 6, 8, 9 旋轉 180° 以後,得到了新的數字 0, 1, 9, 8, 6 。

2, 3, 4, 5, 7 旋轉 180° 後,得到的不是數字。

易混淆數字 (confusing number) 就是乙個數字旋轉180°以後,得到和原來不同的數字,且新數字的每一位都是有效的。

示例 1:

輸入:6

輸出:true

解釋:

把 6 旋轉 180° 以後得到 9,9 是有效數字且 9!=6 。

示例 2:

輸入:89

輸出:true

解釋:

把 89 旋轉 180° 以後得到 68,86 是有效數字且 86!=89 。

示例 3:

輸入:11

輸出:false

解釋:把 11 旋轉 180° 以後得到 11,11 是有效數字但是值保持不變,所以 11 不是易混淆數字。

示例 4:

輸入:25

輸出:false

解釋:把 25 旋轉 180° 以後得到的不是數字。

0 <= n <= 10^9

可以忽略掉旋轉後得到的前導零,例如,如果我們旋轉後得到 0008 那麼該數字就是 8 。

首先注意題目意思,是將整個數字串旋轉180°得到新數字,不是將單個數字旋轉180°得到後得到新數字

將數字分為兩部分:

旋轉180°後還是有效數字的數字:1,6,8,9,0

旋轉180°後不是有效數字的數字:2,3,4,5,7

若數字串**現第二種數字,則說明該數字不是易混淆數字。

若數字中都由第一種數字組成,則還需要判斷轉換後和原先大小是否相等,若相等,則說明不是易混淆數字

class solution 

if(res==n)

return false;

return true;

}};

LeetCode 1056 易混淆數(雜湊)

給定乙個數字 n,當它滿足以下條件的時候返回 true 原數字旋轉 180 以後可以得到新的數字。如 0,1,6,8,9 旋轉 180 以後,得到了新的數字 0,1,9,8,6 2,3,4,5,7 旋轉 180 後,得到的不是數字。易混淆數 confusing number 在旋轉180 以後,可以...

C 易混淆點(二)

二進位制的100 的第0位是 0 1 第二位 0 第一位 0 第0位 所以把乙個數的第三位進行清零 置位 取反的操作如下 include define bit3 0x01 3 對乙個數的第三位進行清零 置位 取反 int main 程式的儲存區域分為 段 唯讀資料段 已初始化的讀寫資料段 未初始化的...

C 易混淆知識點

c 易混淆知識點 crystal 例項 static void main string args 執行結果為 有了上面的理論基礎,下面就具體分析上面程式為什麼會是那樣的結果 首先m1,m2都是引用型別,當執行m1 m2操作時,比較的是m1與m2在棧內位址的值是否相等,即比較的是引用,因為m1和m2指...