当前位置: 首页 > 后端技术 > Java

leetcode算法13.罗马数字转整数

时间:2023-04-01 19:03:53 Java

馃憦馃憦馃憦馃憦澶у濂斤紒澶у濂斤紝鎴戞槸銆愬皬涓冦€戯紝涓€涓儹鐖卞垎浜悇绉嶆妧鏈殑鍗氫富锛侌煒嶐煒嶐煒嶁瓙銆愬鏃犳澧冦€戠殑鍒涗綔瀹楁棬锛氭瘡涓€鏉″懡浠ゆ垜閮戒翰鑷墽琛岃繃锛屾瘡涓€琛屼唬鐮侀兘瀹為檯璺戣繃锛屾瘡涓€绉嶆柟娉曢兘瀹炶返杩囷紝姣忕瘒鏂囩珷閮界敤鑹績浜у嚭銆傗湂鉁娾湂猸愩€愬鏃犳澧冨皬涓冦€戝崥瀹腑鎵€鏈夋秹鍙婂懡浠ゅ拰浠g爜鐨勫湴鏂癸紝闄や簡鎻愪緵鍥剧墖渚涘ぇ瀹跺弬鑰冨锛屽浘鐗囦笅鏂硅繕浼氭湁绾枃鏈牸寮忕殑鍛戒护鎴栦唬鐮佷緵澶у绮樿创锛屽鍒跺苟鐩存帴鎵ц鍛戒护鎴栬繍琛屼唬鐮併€傪煠濔煠濔煠濃瓙濡傛灉浣犲鎶€鏈湁娴撳帤鐨勫叴瓒o紝娆㈣繋鍏虫敞銆愬皬涓冦€戯紝娆㈣繋澶у涓庢垜浜ゆ祦銆傪煒橉煒橉煒樷潳锔忊潳锔忊潳锔忔劅璋㈤槄璇绘帴涓嬫潵鉂わ笍鉂わ笍鉂わ笍鏂囩珷鐩綍1锛宭eetcode绠楁硶1锛岀綏椹暟瀛楄浆鏁存暟1.1锛岄鐩?.2锛屾€濊矾1.3锛岀瓟妗?锛宭eetcode绠楁硶1锛岀綏椹暟瀛楄浆鏁存暟1.1锛岄鐩綏椹暟瀛楀寘鍚互涓嬩竷涓瓧绗︼細I銆乂銆乆銆丩銆丆銆丏銆丮銆傚瓧绗﹀€糏1V5X10L50C100D500M1000渚嬪缃楅┈鏁板瓧2鍐欐垚II锛屽氨鏄袱涓苟鍒楃殑1銆?2鍐欐垚XII锛屽嵆X+II銆?7鍐欎綔XXVII锛屽嵆XX+V+II銆傞€氬父锛岀綏椹暟瀛椾腑杈冨皬鐨勬暟瀛椾綅浜庤緝澶ф暟瀛楃殑鍙充晶銆備絾涔熸湁渚嬪锛屾瘮濡?涓嶅啓鎴怚III锛岃€屾槸鍐欐垚IV銆傛暟瀛?鍦ㄦ暟瀛?鐨勫乏杈癸紝琛ㄧず鐨勬暟瀛楃瓑浜庢暟瀛?鍑忓幓鏁板瓧1寰楀埌鐨勫€?銆傚悓鐞嗭紝鏁板瓧9琛ㄧず涓篒X銆傝繖涓壒娈婅鍒欏彧閫傜敤浜庝互涓嬪叚绉嶆儏鍐碉細I鍙互鏀惧湪V(5)鍜孹(10)鐨勫乏杈逛唬琛?鍜?X鍙互鏀惧湪L(50)鍜孋(100)鐨勫乏杈?琛ㄧず40鍜?0銆侰鍙互鏀惧湪D(500)鍜孧(1000)鐨勫乏杈癸紝琛ㄧず400鍜?00銆傜粰瀹氫竴涓綏椹暟瀛楋紝灏嗗叾杞崲涓烘暣鏁般€?.2.鎬濊矾涓€锛氳繖閬撻鐨勯毦鐐瑰湪浜庡皬鏁版斁鍦ㄥ乏杈硅繕鏄彸杈广€傛垜浠彲浠ュ垽鏂紝鏀惧湪宸﹁竟灏卞噺灏忔暟锛屾斁鍙宠竟灏卞姞灏忔暟銆?.3銆佺瓟妗堝湪杩欓噷鎻掑叆鍥剧墖鎻忚堪classSolution{Mapmap=newHashMap(){{put('I',1);鏀撅紙'V'锛?锛?鏀撅紙'X'锛?0锛?鏀撅紙'L'锛?0锛?鏀撅紙'C'锛?00锛?鏀撅紙'D'锛?00锛?put('M',1000);}};publicintromanToInt(Strings){intnum=0;intn=s.length();for(inti=0;i