vault backup: 2022-09-06 20:22:48

This commit is contained in:
juan 2022-09-06 20:22:48 +08:00
parent 99e9f02118
commit 8f8ff15ddb
99 changed files with 195 additions and 185 deletions

View file

@ -1,5 +1,5 @@
{
"theme": "moonstone",
"theme": "obsidian",
"translucency": true,
"cssTheme": "Prism",
"interfaceFontFamily": "IBM Plex Sans",

14
.obsidian/graph.json vendored
View file

@ -30,15 +30,15 @@
}
],
"collapse-display": false,
"showArrow": false,
"showArrow": true,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": false,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 0.9747267101258579,
"close": true
"centerStrength": 0.5,
"repelStrength": 10.5952380952381,
"linkStrength": 0.505952380952381,
"linkDistance": 259,
"scale": 0.34081054256054544,
"close": false
}

View file

@ -14,7 +14,7 @@
##### Difficulty:
#CS_analysis #difficulty-easy
#CS_analysis #difficulty_easy
##### Related problems:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #CS_analysis #difficulty-easy
> #CS_analysis #difficulty_easy
>
> ##### Additional tags:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #CS_analysis #difficulty-
> #CS_analysis #difficulty_
>
> ##### Additional tags:

View file

@ -14,7 +14,7 @@
##### Difficulty:
#CS_analysis #difficulty-easy
#CS_analysis #difficulty_easy
##### Related problems:

View file

@ -14,7 +14,7 @@
##### Difficulty:
#CS_analysis #difficulty-easy
#CS_analysis #difficulty_easy
##### Time complexity:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -4,7 +4,7 @@
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-
> #coding_problem #difficulty_
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>
@ -68,6 +68,7 @@ An **Anagram** is a word or phrase formed by rearranging the letters of a differ
This one can be solved simply using two-way hash tables,
consisting of two hash tables:
- ana2id: turn anagram into an id
- id2str: turn id into strings that has the anagrams
@ -76,6 +77,7 @@ CPP-style initialization of C's array.
> [!tip]
> CPP-style initialization of C array #tip
>
> ```cpp
> array<int, 26> ana = {};
> ```

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -16,7 +16,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>
@ -30,7 +30,7 @@
### Problem
Given a string `s` which consists of lowercase or uppercase letters, return _the length of the **longest palindrome**_ that can be built with those letters.
Given a string `s` which consists of lowercase or uppercase letters, return *the length of the **longest palindrome*** that can be built with those letters.
Letters are **case sensitive**, for example, `"Aa"` is not considered a palindrome here.
@ -61,6 +61,7 @@ Letters are **case sensitive**, for example, `"Aa"` is not considered a palindr
The solution is simple: count the apperances, sort it using
std::greater<int>(), and select all even number, for odd
number `i`:
- if odd numbers has been used: `ans += i - 1` (make it
even)
- if not: `ans += i`, and mark odd number used

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Links:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>
@ -62,6 +62,7 @@ A partition like "ababcbacadefegde", "hijhklij" is incorrect, because it splits
#### Why is it a greedy problem?
Consider this situation:
```
s: ababc
partition: abab|c

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>
@ -25,7 +25,7 @@
##### Links:
- [Link to problem](https://leetcode.com/problems/product-of-array-except-self/)
- [Solution with explanation](https://leetcode.com/problems/product-of-array-except-self/discuss/1597994/C%2B%2BPython-4-Simple-Solutions-w-Explanation-or-Prefix-and-Suffix-product-O(1)-space-approach)
- [Solution with explanation](<https://leetcode.com/problems/product-of-array-except-self/discuss/1597994/C%2B%2BPython-4-Simple-Solutions-w-Explanation-or-Prefix-and-Suffix-product-O(1)-space-approach>)
---
@ -148,6 +148,7 @@ public:
```
First iteration:
```cpp
class Solution {
public:

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -10,7 +10,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>
@ -57,18 +57,21 @@ The question ask for an answer, and the substrings can
overlap. So, using a map is prefered(Why?)
Two reasons:
- Easy way to know if a array is a duplicate (set, map can
suffice.)
- Keep information on how many duplicates found, so we only
append it to the answer the first time we meet it.
One trip-over hole: in the for loop, upper bound should be:
```cpp
for (int i = 0, top = s.size() - 9; i < top; i++)
^^^
```
Minus 9, because 9 is the extended length for an subarray starting with i.
```
1234567890
^ ^

View file

@ -10,7 +10,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-medium
#leetcode #coding_problem #difficulty_medium
##### Lists:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>
@ -111,6 +111,7 @@ public:
```
TLE, brute force
```cpp
class Solution {
public:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -14,7 +14,7 @@
##### Difficulty:
#coding_problem #leetcode #difficulty-easy
#coding_problem #leetcode #difficulty_easy
##### Related topics:

View file

@ -14,7 +14,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>

View file

@ -10,7 +10,7 @@
##### Difficulty:
#leetcode #coding_problem #difficulty-easy
#leetcode #coding_problem #difficulty_easy
##### Related topics:

View file

@ -12,7 +12,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-medium
> #coding_problem #difficulty_medium
>
> ##### Additional tags:
>

View file

@ -8,7 +8,7 @@
>
> ##### Difficulty:
>
> #coding_problem #difficulty-easy
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>
@ -65,6 +65,7 @@ The main part is using two hash tables, to check for
mismatches, and using `istringstream` to read from string
Two hash tables:
- One is used to check for s has one and only bound word
- The other is used to check that the word is only stored
once

View file

@ -10,7 +10,7 @@
##### Difficulty:
#CS_analysis #difficulty-easy
#CS_analysis #difficulty_easy
##### Related problems:

View file

@ -10,7 +10,7 @@
##### Difficulty:
#CS_analysis #difficulty-easy
#CS_analysis #difficulty_easy
##### Related problems:

View file

@ -10,7 +10,7 @@
##### Difficulty:
#CS_analysis #difficulty-easy
#CS_analysis #difficulty_easy
##### Related problems:

View file

@ -10,7 +10,7 @@
##### Difficulty:
#CS_analysis #difficulty-easy
#CS_analysis #difficulty_easy
##### Related problems: