Remove Duplicate Characters
Remove duplicate characters from a string, keeping the first occurrence of each.
Sample input
programming
Sample output
progamin
Solution
s = "programming"
seen = set()
result = []
for ch in s:
if ch not in seen:
seen.add(ch)
result.append(ch)
print("".join(result))
const s = "programming";
const seen = new Set();
let result = "";
for (const ch of s) {
if (!seen.has(ch)) {
seen.add(ch);
result += ch;
}
}
console.log(result);
import java.util.LinkedHashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
String s = "programming";
Set<Character> seen = new LinkedHashSet<>();
for (char c : s.toCharArray()) seen.add(c);
StringBuilder sb = new StringBuilder();
for (char c : seen) sb.append(c);
System.out.println(sb.toString());
}
}
fun main() {
val s = "programming"
val seen = LinkedHashSet<Char>()
for (c in s) seen.add(c)
println(seen.joinToString(""))
}
let s = "programming"
var seen = Set<Character>()
var result = ""
for c in s {
if !seen.contains(c) {
seen.insert(c)
result.append(c)
}
}
print(result)
void main() {
String s = 'programming';
Set<String> seen = {};
String result = '';
for (var c in s.split('')) {
if (!seen.contains(c)) {
seen.add(c);
result += c;
}
}
print(result);
}
#include <iostream>
#include <unordered_set>
using namespace std;
int main() {
string s = "programming";
unordered_set<char> seen;
string result = "";
for (char c : s) {
if (seen.find(c) == seen.end()) {
seen.insert(c);
result += c;
}
}
cout << result << endl;
return 0;
}
#include <stdio.h>
int main() {
char s[] = "programming";
int seen[256] = {0};
for (int i = 0; s[i]; i++) {
if (!seen[(unsigned char) s[i]]) {
seen[(unsigned char) s[i]] = 1;
putchar(s[i]);
}
}
putchar('\n');
return 0;
}