国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

leetcode :Integer to Roman

2019-11-10 23:35:58
字體:
供稿:網(wǎng)友

leetcode

做這道題首先查看了一下羅馬數(shù)字的表示方式,相比于阿拉伯數(shù)字真的麻煩!

題目中也是將輸入范圍限定到3999.

我第一想到的就是用switch語句。

switch(T x ){

case 1:

語句;break;

case 2:

....

default:

break;

}

代碼如下:

class Solution {public:    string intToRoman(int num) {        string ret;        int x1=num%10;        switch(x1){            case 1:            ret='I';            break;            case 2:            ret="II";            break;            case 3:            ret="III";            break;            case 4:            ret="IV";            break;            case 5:            ret='V';            break;            case 6:            ret="VI";            break;            case 7:            ret="VII";            break;            case 8:            ret="VIII";            break;            case 9:            ret="IX";            break;            default:            break;        }        if(num>=10){            int x2=(num/10)%10;            switch(x2){                case 1:                ret='X'+ret;                break;                case 2:                ret="XX"+ret;                break;                case 3:                ret="XXX"+ret;                break;                case 4:                ret="XL"+ret;                break;                case 5:                ret='L'+ret;                break;                case 6:                ret="LX"+ret;                break;                case 7:                ret="LXX"+ret;                break;                case 8:                ret="LXXX"+ret;                break;                case 9:                ret="XC"+ret;                break;                default:                break;            }        }        else            return ret;        if(num>=100){            int x3=(num/100)%10;            switch(x3){                case 1:                ret='C'+ret;                break;                case 2:                ret="CC"+ret;                break;                case 3:                ret="CCC"+ret;                break;                case 4:                ret="CD"+ret;                break;                case 5:                ret='D'+ret;                break;                case 6:                ret="DC"+ret;                break;                case 7:                ret="DCC"+ret;                break;                case 8:                ret="DCCC"+ret;                break;                case 9:                ret="CM"+ret;                break;                default:                break;            }        }        else            return ret;        if(num>=1000){            int x4=(num/1000)%10;            switch(x4){                case 1:                ret='M'+ret;                break;                case 2:                ret="MM"+ret;                break;                case 3:                ret="MMM"+ret;                break;                default:                break;            }        }        else            return ret;        return ret;        }};后面看到別人比較簡潔的代碼如下:

class Solution {public:	const static string THOUS[];	const static string HUNDS[];	const static string TENS[];	const static string ONES[];    string intToRoman(int num) {		string result;		result += THOUS[(int)(num/1000)%10];		result += HUNDS[(int)(num/100)%10];		result += TENS[(int)(num/10)%10];		result += ONES[num%10];		return result;    }};const string Solution::THOUS[]	= {"","M","MM","MMM"};const string Solution::HUNDS[]	= {"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};const string Solution::TENS[]	= {"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};const string Solution::ONES[]	= {"","I","II","III","IV","V","VI","VII","VIII","IX"};這個代碼采用數(shù)組的方法。感覺我的好蠢。。。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新密市| 革吉县| 郯城县| 石嘴山市| 横峰县| 休宁县| 石渠县| 肇源县| 简阳市| 苍溪县| 屯昌县| 微山县| 阿拉善左旗| 和龙市| 吕梁市| 固原市| 莱阳市| 香港 | 顺平县| 潜江市| 新宁县| 阜宁县| 德州市| 启东市| 宁远县| 木里| 日喀则市| 宜宾市| 汽车| 甘肃省| 顺义区| 翼城县| 镇安县| 贵溪市| 卢龙县| 滨州市| 海兴县| 张家界市| 吴忠市| 威宁| 类乌齐县|