Это 31-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления
Статьи по Теме
Резюме вопросов кисти LeetCode:Вопросы по кисти LeetCode
1. Описание темы
даны две строкиsа такжеt, они содержат только строчные буквы.
нитьtпо строкеsПроизвольно переставьте, затем добавьте букву в случайном месте.
Пожалуйста, найдите вtдобавлены буквы.
Начните чистить зубы с простых вопросов, тренируйте свои мыслительные способности и готовьтесь к интервью~
2. Анализ мыслей
-
Взгляните на пример заголовка, давайте взглянем на эту идею~
-
Пример 1:
输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。
-
Пример 2:
输入:s = "", t = "y" 输出:"y"
-
Пример 3:
输入:s = "a", t = "aa" 输出:"a"
-
Пример 4:
输入:s = "ae", t = "aea" 输出:"a"
-
намекать:
0 <= s.length <= 1000 t.length == s.length + 1 s 和 t 只包含小写字母
-
Это снова найти разницу, и теперь первая реакция на такую тему — использовать хэш для ее достижения. но! Мне не нужно!
-
Молча придумать еще один глупый способ.
-
Так как второй символ всего на один больше первого.
-
Затем я заменяю все символы первого на второй, так что оставшийся лишний!
-
Хахаха, механизм похож на меня.
3. Код переменного тока
-
Заменить кряк:
class Solution { public char findTheDifference(String s, String t) { //将其转成字符数组,方便遍历 String[] strArr = s.split(""); for (int i=0;i<strArr.length;i++){ //因为有可能第二个增加的字符串会重复,所以这里使用replaceFirst只替换第一个字符 t = t.replaceFirst(strArr[i],""); } return t.toCharArray()[0]; } }
- Тск тск тск, хоть КПД и невыносимый, но эксплуатация все равно довольно эффектная!
-
Трещина битовой операции:
-
Вышеупомянутая операция Sao неэффективна, поэтому давайте решим эту проблему с помощью XOR.
-
Какие? Может ли этот вопрос также использовать XOR?
-
Оказывается, в t всего на одну букву больше, чем в s.
-
Затем мы соединили две строки вместе, тогда символ с нечетным числом вхождений должен быть тем, у которого больше символов!
class Solution { public char findTheDifference(String s, String t) { char res = 0; for (char c: s.toCharArray()) { res ^= c; } for (char c: t.toCharArray()) { res ^= c; } return res; } }
- Взлетай немедленно!
4. Резюме
- Есть тысячи идей для решения проблем, будь то хорошее решение или фантастическое решение, это хороший способ решить его! Кот с белым котом и черным котом, умеющим ловить мышей, — хороший кот!
- Вот несколько других решений LeetCode для справки!
- Нажмите, чтобы прыгнуть:официальное решение
- Нажмите, чтобы прыгнуть:алгоритм рисования
Впереди долгий путь, и я обязательно буду его искать вдоль и поперёк~
Если вы думаете, что я блогеры хорошо пишу! Писать нелегко, пожалуйста, ставьте лайки, подписывайтесь и комментируйте, чтобы поощрять блоггеров ~ хахах