로마 숫자 욕심에 leetcode 12 정수

이마,이 욕심을 첨부?

이것은이다 현지 최적화 작은 사용하지 않습니다 "로마를 나타내는 숫자"대형을 사용 문제.

첫째로 모두의 기초 구성 로마 숫자를 다음 비교 내림차순

비교는 1000,900 때문에 ... 제한 및 몇 가지 문제, 건설 테이블지도 <INT, 문자열>

그런 다음, 지도 기본 설치 값은 키의 오름차순으로 정렬 ..

내가 가진 작은을 크게 생각 reverse_iterator

클래스 해결 {
 공개 :
     문자열 intToRoman ( INT의 NUM) { 
         지도 < INT , 문자열 > CALC = {{ 1000 , " M " }, { 900 , " CM " }, { 500 , " D " }, { 400 , " CD " }, { 100 , " C " }, { 90 , " XC " }, { 50 , "L " }, { 40 , " XL " }, { 10 , " X " }, { 9 , " IX ' }, { 5 , " V " }, { 4 , " IV " }, { 1 , " I " }}; 
        지도 < INT , 문자열 > :: reverse_iterator의 ITER = calc.rbegin ();
         문자열 RET;
         동안 ! (ITER = CALC.범 ()) 
        {
            경우 (NUM> = iter-> 제) 
            { 
                RET + = iter-> 제; 
                NUM - = iter-> 제; 
            } 
            다른 
                ITER ++ ; 
        } 
        반환 RET를; 
    } 
};

 

추천

출처www.cnblogs.com/lqerio/p/11750057.html