一、知识点:
HashMap
二、文字分析:
需要编写一个函数sumOfRomanNumerals
来计算每头牛的罗马数字之和。首先,我们需要将罗马数字转换成对应的整数值。可以使用一个HashMap来存储字符和对应的数值关系。然后,遍历给定的数组,将每个字符串转换成整数值并累加到结果中。
三、编程语言:
java
四、正确代码:
import java.util.*; public class Solution { public int sumOfRomanNumerals(String[] cowsRomanNumeral) { Map<Character, Integer> romanValues = new HashMap<>(); romanValues.put('I', 1); romanValues.put('V', 5); romanValues.put('X', 10); romanValues.put('L', 50); romanValues.put('C', 100); romanValues.put('D', 500); romanValues.put('M', 1000); int sum = 0; for (String cow : cowsRomanNumeral) { int value = 0; for (int i = 0; i < cow.length(); i++) { int currentValue = romanValues.get(cow.charAt(i)); if (i > 0 && currentValue > romanValues.get(cow.charAt(i - 1))) { value += currentValue - 2 * romanValues.get(cow.charAt(i - 1)); } else { value += currentValue; } } sum += value; } return sum; } }