給定乙個數字 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指...