mirror of
https://github.com/Xevion/leetcode.git
synced 2025-12-06 03:15:28 -06:00
first-unique-character-in-a-string solution java java_hashmap
This commit is contained in:
22
first-unique-character-in-a-string/Solution.java
Normal file
22
first-unique-character-in-a-string/Solution.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
24
first-unique-character-in-a-string/Solution_HashMap.java
Normal file
24
first-unique-character-in-a-string/Solution_HashMap.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user