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

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

leetcode :Integer to Roman

2019-11-11 01:53:57
字體:
供稿:網(wǎng)友

leetcode

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

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

我第一想到的就是用switch語(yǔ)句。

switch(T x ){

case 1:

語(yǔ)句;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;        }};后面看到別人比較簡(jiǎn)潔的代碼如下:

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"};這個(gè)代碼采用數(shù)組的方法。感覺我的好蠢。。。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 湟中县| 高尔夫| 襄汾县| 从江县| 吉木萨尔县| 南漳县| 资阳市| 隆子县| 波密县| 靖宇县| 武乡县| 临夏县| 天气| 通化县| 虞城县| 纳雍县| SHOW| 鄂托克旗| 安远县| 康保县| 西昌市| 云阳县| 庆安县| 西乌| 报价| 雅安市| 偃师市| 包头市| 昆明市| 宝坻区| 崇左市| 六安市| 德格县| 泾川县| 秦安县| 靖州| 金昌市| 威远县| 郑州市| 海城市| 昔阳县|