タイトル
私たちは一人でそれを残すことを選択することはできません- 180度で個別に各桁を回転させた後、我々は各桁が回転しなければならないX.異なる有効な番号を取得する場合、Xはかなりの数です。
各桁は、回転後の桁のままである場合の数は有効です。0,1、および8は、自身に回転します。図2および5は、互いに回転します。6,9相互に回転し、数字の残りは他のどの番号に回転しないと無効になります。
今、正の数N与え、どのように多くの数字X 1からNまでは良いですか?
効果の対象に
新しい番号は番号が付与された後、新しい、元の数の数が、数はかなりの数であり、等しくない場合には、その回転180度の各々におけるビットの数は、ノートナンバ2が反転を得るために反転します5,6-全く反転回数がない場合、明らかにそうではない、今正の整数Nを非可逆与えられ、デジタル3,4,7などの「かなりの数」であり、9を与えるために、返すように頼ま区間[1、N]良い間の " 「番号の数
私のコード
/**
* @param {number} N
* @return {number}
*/
var rotatedDigits = function(N) {
let isGoodNum = function(num) {
let numArray = new String(num).split('');
let desStr = '';
for(let index = 0; index < numArray.length; index++)
{
switch(numArray[index])
{
case '0':
{
desStr += '0';
break;
}
case '1':
{
desStr += '1';
break;
}
case '2':
{
desStr += '5';
break;
}
case '3':
{
return false;
}
case '4':
{
return false;
}
case '5':
{
desStr += '2';
break;
}
case '6':
{
desStr += '9';
break;
}
case '7':
{
return false;
}
case '8':
{
desStr += '8';
break;
}
case '9':
{
desStr += '6';
break;
}
}
}
if(desStr != numArray.join(''))
{
return true;
}
else
{
return false;
}
}
let count = 0;
for(let i = 1; i <= N; i++)
{
if(isGoodNum(i))
{
count++;
}
}
return count;
};