2017-08-28 3 views
0

Ich versuche, einige C-Code in Go zu konvertieren.Präfix zu Beitrag konvertieren

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 hat keinen Präfixoperator, wie kann ich diese Schleife konvertieren, um Postfix zu verwenden?

Antwort

2

Verwenden Sie ein Postfix increment statement, es macht keinen Unterschied in diesem Fall:

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)) 
} 

Der Unterschied nur von Bedeutung, wenn Sie das Ergebnis des Ausdrucks durch den Inkrement/Dekrement-Operator gebildet verwenden, aber in Go sind sie nicht einmal Operatoren, sondern Aussagen, es spielt keine Rolle. Zum Beweis, siehe FAQ: Why are ++ and -- statements and not expressions? And why postfix, not prefix?

+0

ok, ich bekam nicht das Ergebnis, nach dem ich suchte, also dachte es könnte etwas damit zu tun haben. aber gut zu wissen, danke. – chefcurry7