init commit
This commit is contained in:
30
archive/algorithm/leetcode/13.go
Normal file
30
archive/algorithm/leetcode/13.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package main
|
||||
|
||||
var mapping = map[string]int{
|
||||
"I": 1,
|
||||
"V": 5,
|
||||
"X": 10,
|
||||
"L": 50,
|
||||
"C": 100,
|
||||
"D": 500,
|
||||
"M": 1000,
|
||||
}
|
||||
|
||||
func romanToInt(s string) int {
|
||||
var ret, last int
|
||||
for _, chr := range s {
|
||||
val := mapping[string(chr)]
|
||||
if last < val {
|
||||
ret = val + ret - (last * 2)
|
||||
} else {
|
||||
ret += val
|
||||
}
|
||||
last = val
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
func main() {
|
||||
println(romanToInt("MCMXCIV")) //5
|
||||
println(romanToInt("IIIV")) //4
|
||||
}
|
Reference in New Issue
Block a user