在草原上,一群牛过着平静的生活。它们有个习俗,就是在罗马时代节日的时候,会自发地站成一排,每头牛背上都有一个罗马数字。他们按照顺序一个挨着一个,并通过每头牛背后的罗马数字来点出罗马数字的和。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 通常字符可以拼接,相同的字符并列就是几倍,同时小的数字在大的数字的右边表示相加,大的数字在小的数字右边表示大数减小数。例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况: I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。 X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。  C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。 现给你一个每头牛排列的数组cowsRomanNumeral,请编写一个函数,计算每头牛的罗马数字之和。

区块链毕设网qklbishe.com为您提供问题的解答

在草原上,一群牛过着平静的生活。它们有个习俗,就是在罗马时代节日的时候,会自发地站成一排,每头牛背上都有一个罗马数字。他们按照顺序一个挨着一个,并通过每头牛背后的罗马数字来点出罗马数字的和。
字符 数值
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
通常字符可以拼接,相同的字符并列就是几倍,同时小的数字在大的数字的右边表示相加,大的数字在小的数字右边表示大数减小数。例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。

现给你一个每头牛排列的数组cowsRomanNumeral,请编写一个函数,计算每头牛的罗马数字之和。

哈希表+数学
#include <unordered_map> class Solution { public:     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      *       * @param cowsRomanNumeral string字符串vector       * @return int整型      */     int sumOfRomanNumerals(vector<string>& cowsRomanNumeral) {         // write code here         // 哈希表+数学         unordered_map<char, int> um;         um['I'] = 1;         um['V'] = 5;         um['X'] = 10;         um['L'] = 50;         um['C'] = 100;         um['D'] = 500;         um['M'] = 1000;          int ans = 0;         for(auto str:cowsRomanNumeral)         {             // 从右到左遍历字符串             int t = 0;             for(int i=str.size()-1; i>=0; --i)             {                 if(i==str.size()-1)                     t += um[str[i]];                 else                 {                     // 右边的大                     if(um[str[i]]<um[str[i+1]])                         t -= um[str[i]];                     // 右边的小或左右相等                     else                         t += um[str[i]];                 }             }              ans += t;         }          return ans;     } };

44:38

以上就是关于问题在草原上,一群牛过着平静的生活。它们有个习俗,就是在罗马时代节日的时候,会自发地站成一排,每头牛背上都有一个罗马数字。他们按照顺序一个挨着一个,并通过每头牛背后的罗马数字来点出罗马数字的和。 字符 数值
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
通常字符可以拼接,相同的字符并列就是几倍,同时小的数字在大的数字的右边表示相加,大的数字在小的数字右边表示大数减小数。例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况: I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。 现给你一个每头牛排列的数组cowsRomanNumeral,请编写一个函数,计算每头牛的罗马数字之和。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 在草原上,一群牛过着平静的生活。它们有个习俗,就是在罗马时代节日的时候,会自发地站成一排,每头牛背上都有一个罗马数字。他们按照顺序一个挨着一个,并通过每头牛背后的罗马数字来点出罗马数字的和。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 通常字符可以拼接,相同的字符并列就是几倍,同时小的数字在大的数字的右边表示相加,大的数字在小的数字右边表示大数减小数。例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况: I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。 X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。  C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。 现给你一个每头牛排列的数组cowsRomanNumeral,请编写一个函数,计算每头牛的罗马数字之和。