タイトルのleetCodeブラシ788回転した桁数の記録

タイトル

私たちは一人でそれを残すことを選択することはできません- 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;
};
公開された236元の記事 ウォン称賛10 ビュー10000 +

おすすめ

転載: blog.csdn.net/gunsmoke/article/details/104704149