Сложность: easy
Дана строка s, найдите первый неповторяющийся символ в ней и верните его индекс. Если такого символа не существует, верните -1.
Пример:
Input: s = "leetcode"
Output: 0
👨💻 Алгоритм:
1⃣Постройте хеш-таблицу, где ключами являются символы строки, а значениями — количество их появлений. Для этого пройдите по строке и для каждого символа увеличивайте его счетчик в хеш-таблице.
2⃣Пройдите по строке снова и проверьте для каждого символа, является ли его количество появлений в хеш-таблице равным 1.
3⃣Если найдется символ с количеством появлений, равным 1, верните его индекс. Если такой символ не найден, верните -1.
😎 Решение:
import java.util.Random;
public class Solution {
private int[] original;
private int[] array;
private Random rand = new Random();
public Solution(int[] nums) {
array = nums.clone();
original = nums.clone();
}
public int[] reset() {
array = original.clone();
return original;
}
public int[] shuffle() {
for (int i = 0; i < array.length; i++) {
int randIndex = rand.nextInt(array.length - i) + i;
int temp = array[i];
array[i] = array[randIndex];
array[randIndex] = temp;
}
return array;
}
}
Ставь 👍 и забирай 📚 Базу знаний