我正在尝试将一些C代码转换为Go。

for i := l + 1; i < r; ++i {
    ans = max(ans, nums[l]*nums[i]*nums[r]+maxCoin(dp, l, i, nums)+maxCoin(dp, i, r, nums))
}

Go没有前缀运算符,如何转换此循环以使用后缀?

最佳答案

使用后缀increment statement,在这种情况下没有任何区别:

for i := l + 1; i < r; i++ {
    ans = max(ans, nums[l]*nums[i]*nums[r]+maxCoin(dp, l, i, nums)+maxCoin(dp, i, r, nums))
}

仅当您使用由增量/减量运算符形成的表达式的结果时,差异才重要,但是由于在Go中它们甚至不是运算符,而是语句,所以没有关系。有关推理,请参见FAQ: Why are ++ and -- statements and not expressions? And why postfix, not prefix?

关于go - 将前缀转换为发布,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45921822/

10-15 23:56