mtwm token
This commit is contained in:
@@ -226,41 +226,21 @@ func TestUploadImageNew(t *testing.T) {
|
||||
//给定一个包含正整数、加(+)、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。
|
||||
//表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。
|
||||
func calculate(s string) int {
|
||||
s = "+" + strings.ReplaceAll(s, " ", "")
|
||||
count := map[string]int{
|
||||
"+": 1,
|
||||
"(": 1,
|
||||
")": 1,
|
||||
"-": 1,
|
||||
}
|
||||
s = strings.ReplaceAll(s, " ", "")
|
||||
var str []string
|
||||
mem := ""
|
||||
for k, v := range s {
|
||||
if _, ok := count[string(v)]; !ok {
|
||||
mem = mem + string(v)
|
||||
} else {
|
||||
if mem != "" {
|
||||
str = append(str, mem)
|
||||
}
|
||||
mem = ""
|
||||
str = append(str, string(v))
|
||||
}
|
||||
if k == len(s)-1 {
|
||||
str = append(str, mem)
|
||||
}
|
||||
}
|
||||
|
||||
changeNum := func(s string) int {
|
||||
i, _ := strconv.Atoi(s)
|
||||
return i
|
||||
}
|
||||
var ss []int
|
||||
for k, v := range str {
|
||||
switch v {
|
||||
case "+":
|
||||
ss = append(ss, changeNum(str[k+1]))
|
||||
case "-":
|
||||
ss = append(ss, -changeNum(str[k+1]))
|
||||
for {
|
||||
kr := strings.Index(s, ")")
|
||||
if k == -1 {
|
||||
break
|
||||
}
|
||||
kl := strings.LastIndex(s[:k], "(")
|
||||
s = s[:kl]+
|
||||
}
|
||||
sum := 0
|
||||
for _, v := range ss {
|
||||
|
||||
Reference in New Issue
Block a user