13-罗马数字转整数

还是和上一题一样,把字符和对应的数字存储在map[uint8]int中,需要注意的是在golang中求一个字符串中的某一个字符时对应的类型是uint8,我第一次时把取出来的全部转成string类型而浪费的时间导致耗时16ms,后来map改成uint8后时间变成了4ms,由此可见类型转换还是耗费时间的,我是判断的当前位置和下一个位置的大小,如果当前位置的值更大,那么是正常的,加上这个数就行,如果当前位置的数小于下一个位置则说明是特殊情况,需要加上相反数,最后还要注意的是最后一个位置单独计算,不然循环中会越界,代码如下:

13-罗马数字转整数