553.optimal-division.go 390 B

12345678910111213141516
  1. func optimalDivision(nums []int) string {
  2. n := len(nums)
  3. if n == 1 { // It's math!
  4. return fmt.Sprintf("%d", nums[0])
  5. } else if n == 2 {
  6. return fmt.Sprintf("%d/%d", nums[0], nums[1])
  7. }
  8. var sb strings.Builder
  9. sb.WriteString(fmt.Sprintf("%d/(%d", nums[0], nums[1]))
  10. for i := 2; i < n; i++ {
  11. sb.WriteString(fmt.Sprintf("/%d", nums[i]))
  12. }
  13. sb.WriteRune(')')
  14. return sb.String()
  15. }