Remove Duplicate Characters

Medium Strings
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;
}