leetcode 브러쉬 --Excel 타이틀 목록 이름을 노트

주제 설명 :

양의 정수 감안할 때, 그것은 열 이름에 대응하는 엑셀 테이블을 반환

예를 들면 :

1 :

2 : B

28 : AB

701 : ZY

문제 해결 아이디어 :

leetcode에 표시된이 질문은 간단하다, 그래서, 그것은 청동라고 생각 나는 왕 기대하지 않았다 마쳤다. 아침에 머리가 매듭, 또는 이해 생각된다 공부했다. 사람들의 설명 정오 수면 여전히 궁금 다른 하나는, 마침내 7788 이해를 참조하십시오. 나는 이상 이동 (어떤 형이 큰 소리로 카자흐스탄을 말하는 침해 이동) 자신의 이해에 대해 이야기하는 코드를 넣어

AC 코드 :

공용 문자열 convertToTitle1 ( INT의 N) { 
        문자열 온도 = "" ;
        동안 (N> 0 ) {
             문자 S = (  ) ( (N-1) % 26 + 'A' ); 
            임시 = S +의 온도; 
            N = (N-1) / 26 ; 
        } 
        반환 온도; 
    }

처음에 나는 그것이 26 개 질문의 간단한 이진 소수점 변환, 그리고 벽을 만진 후 다음 여러 번 일이 그렇게 간단하지 않습니다 찾을 생각했다.

코드는 두 개의 N-1로 표시합니다.

상기 문자 A ~ Z에 대응하는 제 N-1, 1 내지 26 진수 봐되도록 때 기준점 번호 N = 1 ~도 26A ~ Z 0-25에 추가 할 때 변경된 그러므로 다시 진수의 모듈 기반을 줄여야합니다. 하지만 기록 할 수없는 문자들 = (숯) (N의 26 % + 'A'-1)와 같은, n은 26로 나누어 쓰기로의 "Z 것'이 계산된다 ' A'-1 = '@'.

두 번째 N-1에 관해서는, 나는 당신이 차이 엑셀 순서와 소수를 발견하지 않았습니다 모른다. 소수 비트는 1보다 10 이하의 전체 수행, 즉 10 (1) (10)에 의해 표시되는 전체 비트 9을 말할 것이다. 그리고 엑셀 수있는이 순서가 가득하고 27 비트에 여기, Z도 매우 잘 손실 26를 나타냅니다, AZ는, A가 26 나타내는 표시하지만, 비트에 26를 나타냅니다. 대부분 전에 하나를 입력하기 위해서, (26)의 단부에서만 26 소모되었으므로 따라서, 예를 들어, 26의 배수를 방지하기 위해, 52 BZ가된다. 따라서, 제 N-1이 발생하지 않도록하는 것이다.

사실, 최종 분석에서,이 질문에 팬 이유는 그것이 우리의 생각의 관성을 충족하지 않는다는 것입니다 생각합니다. (대신 진수 26의) 우리는, 바이너리, 16 진수 진수, 그래서 각각 0이며,이 순서는 엑셀 0 만 1-26 존재하지 않는, 그리고 27이 가득 하나의 기대.

 

추천

출처www.cnblogs.com/yingying7/p/11578855.html