← run

go-01-unique

1.000
3/3 tests· basic

Proposed solution

```go
// solution.go
package challenge

func Unique(xs []int) []int {
    seen := make(map[int]bool)
    result := []int{}
    for _, x := range xs {
        if !seen[x] {
            seen[x] = true
            result = append(result, x)
        }
    }
    return result
}
```

Test output (stdout)

e":"2026-06-30T05:51:13.464198521+02:00","Action":"output","Package":"challenge","Test":"TestUnique/all_same_collapses_to_one","Output":"--- PASS: TestUnique/all_same_collapses_to_one (0.00s)\n"}
{"Time":"2026-06-30T05:51:13.464199471+02:00","Action":"pass","Package":"challenge","Test":"TestUnique/all_same_collapses_to_one","Elapsed":0}
{"Time":"2026-06-30T05:51:13.464200591+02:00","Action":"run","Package":"challenge","Test":"TestUnique/empty_returns_empty"}
{"Time":"2026-06-30T05:51:13.464201401+02:00","Action":"output","Package":"challenge","Test":"TestUnique/empty_returns_empty","Output":"=== RUN   TestUnique/empty_returns_empty\n"}
{"Time":"2026-06-30T05:51:13.464202521+02:00","Action":"output","Package":"challenge","Test":"TestUnique/empty_returns_empty","Output":"--- PASS: TestUnique/empty_returns_empty (0.00s)\n"}
{"Time":"2026-06-30T05:51:13.464203421+02:00","Action":"pass","Package":"challenge","Test":"TestUnique/empty_returns_empty","Elapsed":0}
{"Time":"2026-06-30T05:51:13.464204511+02:00","Action":"run","Package":"challenge","Test":"TestUnique/single_element"}
{"Time":"2026-06-30T05:51:13.464205511+02:00","Action":"output","Package":"challenge","Test":"TestUnique/single_element","Output":"=== RUN   TestUnique/single_element\n"}
{"Time":"2026-06-30T05:51:13.464207561+02:00","Action":"output","Package":"challenge","Test":"TestUnique/single_element","Output":"--- PASS: TestUnique/single_element (0.00s)\n"}
{"Time":"2026-06-30T05:51:13.464208761+02:00","Action":"pass","Package":"challenge","Test":"TestUnique/single_element","Elapsed":0}
{"Time":"2026-06-30T05:51:13.464209711+02:00","Action":"run","Package":"challenge","Test":"TestUnique/negatives_and_zero"}
{"Time":"2026-06-30T05:51:13.464210481+02:00","Action":"output","Package":"challenge","Test":"TestUnique/negatives_and_zero","Output":"=== RUN   TestUnique/negatives_and_zero\n"}
{"Time":"2026-06-30T05:51:13.464211521+02:00","Action":"output","Package":"challenge","Test":"TestUnique/negatives_and_zero","Output":"--- PASS: TestUnique/negatives_and_zero (0.00s)\n"}
{"Time":"2026-06-30T05:51:13.464212371+02:00","Action":"pass","Package":"challenge","Test":"TestUnique/negatives_and_zero","Elapsed":0}
{"Time":"2026-06-30T05:51:13.464213431+02:00","Action":"output","Package":"challenge","Test":"TestUnique","Output":"--- PASS: TestUnique (0.00s)\n"}
{"Time":"2026-06-30T05:51:13.464214411+02:00","Action":"pass","Package":"challenge","Test":"TestUnique","Elapsed":0}
{"Time":"2026-06-30T05:51:13.464215331+02:00","Action":"run","Package":"challenge","Test":"TestUniqueReturnsNonNil"}
{"Time":"2026-06-30T05:51:13.464216391+02:00","Action":"output","Package":"challenge","Test":"TestUniqueReturnsNonNil","Output":"=== RUN   TestUniqueReturnsNonNil\n"}
{"Time":"2026-06-30T05:51:13.464217501+02:00","Action":"output","Package":"challenge","Test":"TestUniqueReturnsNonNil","Output":"--- PASS: TestUniqueReturnsNonNil (0.00s)\n"}
{"Time":"2026-06-30T05:51:13.464218441+02:00","Action":"pass","Package":"challenge","Test":"TestUniqueReturnsNonNil","Elapsed":0}
{"Time":"2026-06-30T05:51:13.464219332+02:00","Action":"run","Package":"challenge","Test":"TestUniqueDoesNotMutateInput"}
{"Time":"2026-06-30T05:51:13.464220062+02:00","Action":"output","Package":"challenge","Test":"TestUniqueDoesNotMutateInput","Output":"=== RUN   TestUniqueDoesNotMutateInput\n"}
{"Time":"2026-06-30T05:51:13.464221412+02:00","Action":"output","Package":"challenge","Test":"TestUniqueDoesNotMutateInput","Output":"--- PASS: TestUniqueDoesNotMutateInput (0.00s)\n"}
{"Time":"2026-06-30T05:51:13.464222562+02:00","Action":"pass","Package":"challenge","Test":"TestUniqueDoesNotMutateInput","Elapsed":0}
{"Time":"2026-06-30T05:51:13.464223542+02:00","Action":"output","Package":"challenge","Output":"PASS\n"}
{"Time":"2026-06-30T05:51:13.464382564+02:00","Action":"output","Package":"challenge","Output":"ok  \tchallenge\t0.001s\n"}
{"Time":"2026-06-30T05:51:13.464395904+02:00","Action":"pass","Package":"challenge","Elapsed":0.001}
System prompt
You are an expert programmer. Solve the task exactly as specified. Output your solution as fenced code blocks using the required file name(s) and the exact function/type signatures requested. Prefer correctness; do not include prose outside code unless asked.