欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Leetcode:IntegerToRoman(C語(yǔ)言版)-創(chuàng)新互聯(lián)

Integer To Roman
char * intToRoman(int num){char symbol[7] = {'I', 'V', 'X', 'L', 'C', 'D', 'M'};
    int values[7] = {1, 5, 10, 50, 100, 500, 1000};
    int counts[7] = {0};
    int sum = 0, index = 0;

    if(num< 1 || num >3999) return '\0';
    for(int i = 6; i >= 0; i --){if(num / values[i] == 0) continue;
        else{counts[i] = num / values[i];
            num = num % values[i];
        }
    }
    for(int j = 6; j >= 0; j --){if(counts[j] == 4){if(counts[j + 1] == 1) sum = sum + 1;
            else if(counts[j + 1] == 0) sum = sum + 2;
        }
        else{sum = sum + counts[j];
        }
    }
    char* str = (char*)malloc(sizeof(char) * (sum + 1));
    for(int k = 6; k >= 0; k --){while(counts[k] != 0){if(k >= 1 && counts[k] == 1 && counts[k - 1] == 4){str[index] = symbol[k - 1];
                str[index + 1] = symbol[k + 1];
                index += 2;
                counts[k]--;
                counts[k - 1] = 0;
            }else if(counts[k] == 4 && counts[k + 1] == 0){str[index] = symbol[k];
                str[index + 1] = symbol [k + 1];
                counts[k] = 0;
                index += 2;
            }
            else{str[index] = symbol[k];
                counts[k]--;
                index++;
            }
        }
    }
    str[sum] = '\0';
    return str;
}

代碼量很大,也不太知道該怎么優(yōu)化,希望各位大佬能指點(diǎn)指點(diǎn)。
具體思路:這道題看過之后,我的想法是先用每個(gè)符號(hào)對(duì)應(yīng)的值,和原來的整數(shù)做除法,取整數(shù)部分,然后留余數(shù)繼續(xù)進(jìn)行迭代,直到所有的對(duì)應(yīng)的值都計(jì)算完,這時(shí)候有就能保存每個(gè)符號(hào)對(duì)應(yīng)要出現(xiàn)幾次。但是由于帶有4和9的值都需要特殊處理:

目前成都創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、姚安網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
  • 對(duì)于900、90、9來說,可以舉例,如900可以分解為500(D)和4個(gè)100(C),但實(shí)際上不能直接打出DCCCC。因此需要處理,將其轉(zhuǎn)化為1000(M)和C(100)的一個(gè)組合,也就是CM。
  • 對(duì)于400、40、4來說,可以舉例,如40可以分解為4個(gè)10(X),但實(shí)際也不能直接打出XXXX。需要處理將其轉(zhuǎn)化為50(L)和10(X)的一個(gè)組合,也就是XL。

由于之前已經(jīng)計(jì)算出每個(gè)符號(hào)對(duì)應(yīng)的數(shù)量,根據(jù)上面兩種特殊情況,再次處理一下所有符號(hào)的個(gè)數(shù),對(duì)于9之類的數(shù)值原來需要5個(gè)符號(hào)來表示,根據(jù)要求則需要2個(gè)符號(hào)表示,對(duì)于4之類的數(shù)值需要4個(gè)符號(hào)來表示,根據(jù)要求則需要2個(gè)符號(hào)表示。上述代碼的第二個(gè)for循環(huán)即處理這個(gè)問題,也就是要準(zhǔn)確的分配空間。
最后在寫入符號(hào)的過程中,也需要處理這兩種問題,遇到9和4之類的數(shù)值,要直接按規(guī)則寫入對(duì)應(yīng)的兩個(gè)字符,然后存儲(chǔ)字符的數(shù)組索引值加兩個(gè),同時(shí)要直接清空對(duì)應(yīng)的counts數(shù)組,避免繼續(xù)進(jìn)行while循環(huán)。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁(yè)題目:Leetcode:IntegerToRoman(C語(yǔ)言版)-創(chuàng)新互聯(lián)
文章URL:http://aaarwkj.com/article42/dddoec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站改版、建站公司App開發(fā)、網(wǎng)站設(shè)計(jì)公司用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
亚洲一区二区三区观看视频| 亚洲区自拍偷拍一区二区| 国产999精品在线观看| 亚洲国产精品天堂av在线播放| 久久精品国产精品日韩欧美 | 中文字幕高清一区二区三区| 日韩综合欧美激情另类| 亚洲成a人片777777久久| 亚洲黄色av网站在线| 国产成人久久久精品一区| av一区二区三区网站| 亚洲成人黄色在线网站| 亚洲欧美日韩特级黄片| 曰韩av毛片在线观看| 亚洲成人精品免费观看| 美女网站色在线免费观看午夜精品| 亚洲精品国产av一区二区三区 | 亚洲国产精品视频中文字幕| 伊在人天堂亚洲香蕉精品区| 亚洲av成人在线一区二区| av天堂久久人妻精品加勒比| 男人天堂一区二区av| 欧美日韩一级一区二区| 亚州无吗一区二区三区| 欧美日韩一区二区激情在线| 日本的一级片一区二区| 国产婷婷成人久久av免费高清| 日本一区二区中文字幕在线| 夜色一区二区av人片| 色中文字幕人妻诱惑制服| 亚洲av一区二区三区色多多| 久久精品女人天堂av| 懂色av中文一区二区| 久久精品色妇熟妇丰满人妻| 久久精品国产亚洲av高清不卡 | 亚洲欧洲一区二区中文字幕| 久久精品国产亚洲成人av| 欧美午夜福利在线视频| 日韩激情av中文字幕| 亚洲欧美一区二区粉嫩| 久久精品熟女亚洲av韩国|