File tree 1 file changed +55
-0
lines changed
1 file changed +55
-0
lines changed Original file line number Diff line number Diff line change @@ -256,3 +256,58 @@ var canJump = function (nums) {
256
256
};
257
257
```
258
258
259
+ ##### [ 45. 跳跃游戏 II] ( https://leetcode-cn.com/problems/jump-game-ii/ )
260
+
261
+ 使用最少的跳跃次数到达数组的最后一个位置。
262
+
263
+ ``` js
264
+ function jump (nums : number []): number { // 从后往前推
265
+ let pos: number = nums .length - 1
266
+ let step: number = 0
267
+ while (pos > 0 ) {
268
+ for (let i = 0 ; i < pos; i++ ) {
269
+ if (i + nums[i] >= pos) { // 第一次到达终点的位置,然后往前找能到达该位置的点。
270
+ pos = i
271
+ step++
272
+ break
273
+ }
274
+ }
275
+ }
276
+ return step
277
+ };
278
+ ```
279
+
280
+ ``` tsx
281
+ function jump(nums : number []): number { // 从前往后推
282
+ let maxPos: number = 0
283
+ let step: number = 0
284
+ let end: number = 0
285
+ for (let i = 0 ; i < nums .length - 1 ; i ++ ) {
286
+ maxPos = Math .max (i + nums [i ], maxPos )
287
+ if (i === end ) {
288
+ end = maxPos
289
+ step ++
290
+ }
291
+ }
292
+ return step
293
+ };
294
+ ```
295
+
296
+ ##### [ 132. 分割回文串 II] ( https://leetcode-cn.com/problems/palindrome-partitioning-ii/ )
297
+
298
+ 给你一个字符串 ` s ` ,请你将 ` s ` 分割成一些子串,使每个子串都是回文。返回符合要求的 ** 最少分割次数** 。
299
+
300
+ ``` tsx
301
+ function lengthOfLIS(nums : number []): number {
302
+ let dp: number [] = new Array (nums .length ).fill (1 )
303
+ for (let i = 1 ; i < nums .length ; i ++ ) {
304
+ for (let j = 0 ; j < i ; j ++ ) {
305
+ if (nums [j ] < nums [i ]) {
306
+ dp [i ] = Math .max (dp [i ], dp [j ] + 1 )
307
+ }
308
+ }
309
+ }
310
+ return Math .max (... dp )
311
+ };
312
+ ```
313
+
You can’t perform that action at this time.
0 commit comments