For example, if L = [1,4,2,6,4,3,2,6,3], then we want 1 as the unique element. Here's pseudocode of what I had in mind:

initialize a dictionary to store number of occurrences of each element: ~O(n), 
look through the dictionary to find the element whose value is 1: ~O(n)

This ensures that the total time complexity then stay to be O(n). Does this seem like the right idea?

Also, if the array was sorted, say for example, how would the time complexity change? I'm thinking it would be some variation of binary search which would reduce it to O(log n).