Skip to content

Instantly share code, notes, and snippets.

@oisdk
Created June 10, 2015 11:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oisdk/92b6c7b71de6a732bb6b to your computer and use it in GitHub Desktop.
Save oisdk/92b6c7b71de6a732bb6b to your computer and use it in GitHub Desktop.
extension SequenceType where Generator.Element: Hashable {
var uniques: [Generator.Element] {
var past = Set<Generator.Element>()
return self.filter {
element in
if past.contains(element) {
return false
} else {
past.insert(element)
return true
}
}
}
var freqs: [Generator.Element:Int] {
var accu: [Generator.Element:Int] = [:]
for element in self { accu[element] = accu[element]?.successor() ?? 1 }
return accu
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment