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

首頁 > 學院 > 開發設計 > 正文

leetcode :Integer to Roman

2019-11-10 23:21:37
字體:
來源:轉載
供稿:網友

leetcode

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

題目中也是將輸入范圍限定到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"};這個代碼采用數組的方法。感覺我的好蠢。。。


上一篇:折線分割平面

下一篇:基本程序設計

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 拉孜县| 诸城市| 大足县| 托克逊县| 英吉沙县| 黔西县| 尖扎县| 广宁县| 临城县| 鄯善县| 呈贡县| 家居| 德令哈市| 九寨沟县| 合作市| 错那县| 长沙县| 巧家县| 灵璧县| 乌什县| 安徽省| 根河市| 凤冈县| 杨浦区| 仪陇县| 无锡市| 韩城市| 泾源县| 镇巴县| 广州市| 丁青县| 山东省| 兰考县| 英山县| 神池县| 商丘市| 双峰县| 宜阳县| 博白县| 察雅县| 安岳县|