Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 42478e4

Browse files
authored
feat: add js solution to lc problem: No.2707 (doocs#3554)
1 parent 4fab89d commit 42478e4

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

solution/2700-2799/2707.Extra Characters in a String/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,30 @@ impl Solution {
210210
}
211211
```
212212

213+
#### JavaScript
214+
215+
```js
216+
/**
217+
* @param {string} s
218+
* @param {string[]} dictionary
219+
* @return {number}
220+
*/
221+
var minExtraChar = function (s, dictionary) {
222+
const ss = new Set(dictionary);
223+
const n = s.length;
224+
const f = Array(n + 1).fill(0);
225+
for (let i = 1; i <= n; ++i) {
226+
f[i] = f[i - 1] + 1;
227+
for (let j = 0; j < i; ++j) {
228+
if (ss.has(s.slice(j, i))) {
229+
f[i] = Math.min(f[i], f[j]);
230+
}
231+
}
232+
}
233+
return f[n];
234+
};
235+
```
236+
213237
<!-- tabs:end -->
214238

215239
<!-- solution:end -->

solution/2700-2799/2707.Extra Characters in a String/README_EN.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,30 @@ impl Solution {
211211
}
212212
```
213213

214+
#### JavaScript
215+
216+
```js
217+
/**
218+
* @param {string} s
219+
* @param {string[]} dictionary
220+
* @return {number}
221+
*/
222+
var minExtraChar = function (s, dictionary) {
223+
const ss = new Set(dictionary);
224+
const n = s.length;
225+
const f = Array(n + 1).fill(0);
226+
for (let i = 1; i <= n; ++i) {
227+
f[i] = f[i - 1] + 1;
228+
for (let j = 0; j < i; ++j) {
229+
if (ss.has(s.slice(j, i))) {
230+
f[i] = Math.min(f[i], f[j]);
231+
}
232+
}
233+
}
234+
return f[n];
235+
};
236+
```
237+
214238
<!-- tabs:end -->
215239

216240
<!-- solution:end -->
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/**
2+
* @param {string} s
3+
* @param {string[]} dictionary
4+
* @return {number}
5+
*/
6+
var minExtraChar = function (s, dictionary) {
7+
const ss = new Set(dictionary);
8+
const n = s.length;
9+
const f = Array(n + 1).fill(0);
10+
for (let i = 1; i <= n; ++i) {
11+
f[i] = f[i - 1] + 1;
12+
for (let j = 0; j < i; ++j) {
13+
if (ss.has(s.slice(j, i))) {
14+
f[i] = Math.min(f[i], f[j]);
15+
}
16+
}
17+
}
18+
return f[n];
19+
};

0 commit comments

Comments
 (0)