题解 | #牛牛的罗马时代节日#
牛牛的罗马时代节日
https://www.nowcoder.com/practice/97447e046b704ffda3f51281bd7e296b
#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; } };