Squarepoint Capital interview question

Using Python, write a one-liner function to return a list containing only the unique elements of the given list. Order doesn't matter. Next, write a function to return an order-preserving list containing only the unique elements of the given list.

Interview Answers

Anonymous

1 Dec 2016

def f1(seq): ….return list(set(seq)) def f2(seq): ….newseq = [] ….for i in seq: ……..if i not in newseq: ………...newseq.append(i) ….return newseq

4

Anonymous

28 Mar 2019

Previous answer is done in quadratic time. You could make newseq a set then return it as a list like you previously did.

2

Anonymous

9 Sept 2020

Linear time: def f(seq): result = [] seen = set() for s in seq: if s not in seen: result.append(s) seen.add(s) return result

1