78 lines
1.5 KiB
Markdown
78 lines
1.5 KiB
Markdown
## explenation
|
|
|
|
https://leetcode.com/problems/isomorphic-strings/submissions/1459140688/
|
|
|
|
13:21
|
|
|
|
s = paper
|
|
t = title
|
|
|
|
```ts
|
|
{
|
|
p: t,
|
|
a: i,
|
|
p: t,
|
|
e: l,
|
|
r: e
|
|
}
|
|
```
|
|
|
|
мы заводим хэш таблицу в которой клчами будут симвлоы из строки s
|
|
a значениями будут буквы из слова t
|
|
если при ключ уже существуе в таблице мы проверим какое в нем значение
|
|
если оно совпадает с текущим и слова t мы продолжим итерацию
|
|
если не совпадает мы вернем фалс
|
|
перед началом мы сразу сравним длинну строк и выкиним фалсе если она разная
|
|
|
|
оценка
|
|
|
|
time: O(n)
|
|
mem: 0(n)
|
|
|
|
## first implementation
|
|
|
|
09:00
|
|
|
|
## ошибочный ответ
|
|
|
|
### ошибка проверки ключей
|
|
|
|
36:00
|
|
|
|
проверял только наличие ключей и значение в них, но не учел
|
|
кейс когда значение из t уже есть в хэш таблице под другим ключом
|
|
|
|
нужно завести вторую таблицу и наполнять ее инвертированно ключи из t значения из s
|
|
и сравнивать их
|
|
|
|
s = "badc"
|
|
t = "baba"
|
|
|
|
```ts
|
|
ht1 = {
|
|
b: b,
|
|
a: a,
|
|
d: b,
|
|
c: a,
|
|
};
|
|
|
|
b: b,
|
|
b: b,
|
|
a: a,
|
|
a: a,
|
|
d: b,
|
|
b: d,
|
|
|
|
|
|
ht2 = {
|
|
b: b,
|
|
a: a,
|
|
b: d,
|
|
a: c,
|
|
};
|
|
```
|
|
|
|
## общее время
|
|
|
|
01:11:25
|