first-unique-character-in-a-string solution java java_hashmap

This commit is contained in:
Xevion
2021-01-14 19:35:28 -06:00
parent d7e4b5892f
commit 3bc1b0d992
2 changed files with 46 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
// Accepted
// Runtime: 7 ms
// Memory Usage: 39.6 MB
// Submitted: January 14th, 2021
class Solution {
public int firstUniqChar(String s) {
int[] count = new int[26]; //
int n = s.length();
// Count the appearances of each character
for (int i = 0; i < n; i++)
count[s.charAt(i) - 'a']++;
// Iterate only the array again, return the index of the character that only appeared once
for (int i = 0; i < n; i++)
if (count[s.charAt(i) - 'a'] == 1)
return i;
return -1;
}
}

View File

@@ -0,0 +1,24 @@
// Accepted
// Runtime: 23 ms
// Memory Usage: 39.5 MB
// Submitted: January 14th, 2021
class Solution {
public int firstUniqChar(String s) {
Map<Character, Integer> count = new HashMap<Character, Integer>();
// Count the number of appearances of each character
for (int i = 0; i < s.length(); i++) {
char val = s.charAt(i);
count.put(val, count.getOrDefault(val, 0) + 1);
}
// Iterate along the array again, and find the first character that only appears once
for (int i = 0; i < s.length(); i++) {
if (count.get(s.charAt(i)) == 1)
return i;
}
return -1;
}
}