Workday Interview Question

Find the first non-repeating character in a string.

Interview Answers

Anonymous

Dec 1, 2016

import java.util.*; class FirstUniq{ public static void main(String[] args){ System.out.println(getFirstUniqChar("12")); } public static Character getFirstUniqChar(String s){ if (s == null || s.length() == 0) {return null;} Map map = new LinkedHashMap(); for(int i = 0; i e : map.entrySet()){ if (e.getValue() == 1) return e.getKey(); } return null; } }

1

Anonymous

Mar 6, 2017

def firstNonDup(s: String): Char = { val map = s.toCharArray.foldLeft(Map[Char, Int]())((map: Map[Char, Int], c: Char) => { var m = map if (m.contains(c)) { m += (c -> m.get(c).get.+(1)) } else { m += (c -> 1) } m }) val a = s.toCharArray.filter(c => map.get(c).getOrElse(0) == 1) a match { case Array() => ' ' case _ => a(0) } }

Anonymous

Mar 6, 2017

#include char firstNonDup(char *string, int length) { int i; int cs[256]; for (i = 0; i < length; i++) { cs[string[i]]++; } for (i = 0; i < length; i++) { if (cs[string[i]] == 1) { return string[i]; } } return ' '; } int main(int argc, char **argv) { const char string[] = "hello hellen"; printf("First non-duplicate of %s is %c\n", string, firstNonDup(string, sizeof(string))); }

Anonymous

Feb 6, 2017

For(i=1 to n) If(arr[i] != arr[i-1]) return arr[i-1] // if we get here the string arr has inly onecharacter repeatef