【日志】力扣12.整数转罗马数字

时间:2024-10-30 18:33:59

2024.10.29

【力扣刷题】

12. 整数转罗马数字 - 力扣(LeetCode)https://leetcode.cn/problems/integer-to-roman/?envType=study-plan-v2&envId=top-interview-150

 昨天的数字转罗马数字,今天的是罗马转数字,这同样可以使用模拟的思想去解题,通过两者之间的关系列出一个有序数组,通过遍历这个数组就能找到对应的索引从而拿到正确的数据。

char* intToRoman(int num) {
    char* Roman = malloc(sizeof(char) * 16);
    Roman[0] = '\0';
    int Value[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
    char* Symbol[] = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
    for (int i = 0; i < 13; i++) {
        while (num >= Value[i]) {
            num -= Value[i];
            strcpy(Roman + strlen(Roman), Symbol[i]);
        }
        if (num == 0) {
            break;
        }
    }
    return Roman;
}

【数据结构】

暂无

【Unity】

【奇思妙想】 

暂无

——每天努力十五分钟,一年就努力了5475分钟,也就是91.25小时。(记得乘上0.7,这是扣去双休和法定的节假日的时间的)