From 46f71eee0f90df0a2e4c77e42a49277c1cf0f40f Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Mon, 7 Apr 2025 13:00:59 +0300 Subject: [PATCH] Improved tasks 117-125 --- .../solution.ts | 4 +- .../ts/g0101_0200/s0120_triangle/solution.ts | 5 +- .../s0125_valid_palindrome/solution.ts | 5 +- .../solution.test.ts | 52 +++++++++---------- .../s0120_triangle/solution.test.ts | 2 +- .../solution.test.ts | 6 +-- .../solution.test.ts | 6 +-- 7 files changed, 38 insertions(+), 42 deletions(-) diff --git a/src/main/ts/g0101_0200/s0117_populating_next_right_pointers_in_each_node_ii/solution.ts b/src/main/ts/g0101_0200/s0117_populating_next_right_pointers_in_each_node_ii/solution.ts index 76c10f4..84ed1bd 100644 --- a/src/main/ts/g0101_0200/s0117_populating_next_right_pointers_in_each_node_ii/solution.ts +++ b/src/main/ts/g0101_0200/s0117_populating_next_right_pointers_in_each_node_ii/solution.ts @@ -2,7 +2,7 @@ // #Algorithm_II_Day_7_Breadth_First_Search_Depth_First_Search // #Top_Interview_150_Binary_Tree_General #2025_04_07_Time_47_ms_(97.74%)_Space_61.19_MB_(53.38%) -import { _Node } from "../../com_github_leetcode/_node" +import { _Node } from '../../com_github_leetcode/_node' /** * Definition for _Node. @@ -11,7 +11,7 @@ import { _Node } from "../../com_github_leetcode/_node" * left: _Node | null * right: _Node | null * next: _Node | null - * + * * constructor(val?: number, left?: _Node, right?: _Node, next?: _Node) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) diff --git a/src/main/ts/g0101_0200/s0120_triangle/solution.ts b/src/main/ts/g0101_0200/s0120_triangle/solution.ts index 9c3f7bf..d3e8a6d 100644 --- a/src/main/ts/g0101_0200/s0120_triangle/solution.ts +++ b/src/main/ts/g0101_0200/s0120_triangle/solution.ts @@ -16,10 +16,7 @@ function minimumTotal(triangle: number[][]): number { if (dp[row][col] !== -10001) { return dp[row][col] } - const sum = triangle[row][col] + Math.min( - dfs(row + 1, col), - dfs(row + 1, col + 1) - ) + const sum = triangle[row][col] + Math.min(dfs(row + 1, col), dfs(row + 1, col + 1)) dp[row][col] = sum return sum } diff --git a/src/main/ts/g0101_0200/s0125_valid_palindrome/solution.ts b/src/main/ts/g0101_0200/s0125_valid_palindrome/solution.ts index 9adb7a5..81df05d 100644 --- a/src/main/ts/g0101_0200/s0125_valid_palindrome/solution.ts +++ b/src/main/ts/g0101_0200/s0125_valid_palindrome/solution.ts @@ -2,13 +2,12 @@ // #Top_Interview_150_Two_Pointers #2025_04_07_Time_0_ms_(100.00%)_Space_59.34_MB_(42.47%) function isPalindrome(s: string): boolean { - if(s.length < 2) { + if (s.length < 2) { return true } let sFormated = s.toLowerCase().replace(/[^a-zA-Z0-9]/g, '') - let reversed = sFormated.split('').reverse().join('').replace(',','') + let reversed = sFormated.split('').reverse().join('').replace(',', '') return sFormated === reversed - } export { isPalindrome } diff --git a/src/test/ts/g0101_0200/s0117_populating_next_right_pointers_in_each_node_ii/solution.test.ts b/src/test/ts/g0101_0200/s0117_populating_next_right_pointers_in_each_node_ii/solution.test.ts index 22ccfac..57f4d23 100644 --- a/src/test/ts/g0101_0200/s0117_populating_next_right_pointers_in_each_node_ii/solution.test.ts +++ b/src/test/ts/g0101_0200/s0117_populating_next_right_pointers_in_each_node_ii/solution.test.ts @@ -1,10 +1,10 @@ // tslint:disable:no-magic-numbers -import { _Node } from 'src/main/ts/com_github_leetcode/_node'; +import { _Node } from 'src/main/ts/com_github_leetcode/_node' import { connect } from 'src/main/ts/g0101_0200/s0117_populating_next_right_pointers_in_each_node_ii/solution' import { expect, test } from 'vitest' test('connect', () => { - expect(connect(null)).toBeNull(); + expect(connect(null)).toBeNull() }) test('connect2', () => { @@ -12,17 +12,17 @@ test('connect2', () => { 1, new _Node(2, new _Node(4), new _Node(5), null), new _Node(3, null, new _Node(7), null), - null - ); - - const node7 = new _Node(7); - const node3 = new _Node(3, null, node7, null); - const node5 = new _Node(5, null, null, node7); - const node4 = new _Node(4, null, null, node5); - const node2 = new _Node(2, node4, node5, node3); - const node1 = new _Node(1, node2, node3, null); - - expect(connect(node)).toEqual(node1); + null, + ) + + const node7 = new _Node(7) + const node3 = new _Node(3, null, node7, null) + const node5 = new _Node(5, null, null, node7) + const node4 = new _Node(4, null, null, node5) + const node2 = new _Node(2, node4, node5, node3) + const node1 = new _Node(1, node2, node3, null) + + expect(connect(node)).toEqual(node1) }) test('connect3', () => { @@ -30,19 +30,19 @@ test('connect3', () => { 1, new _Node(2, new _Node(4, new _Node(7), null, null), new _Node(5), null), new _Node(3, null, new _Node(6, null, new _Node(8), null), null), - null - ); - + null, + ) + // Creating expected output tree with connections - const node8 = new _Node(8, null, null, null); - const node7 = new _Node(7, null, null, node8); - const node6 = new _Node(6, null, node8, null); - const node3 = new _Node(3, null, node6, null); - const node5 = new _Node(5, null, null, node6); - const node4 = new _Node(4, node7, null, node5); - const node2 = new _Node(2, node4, node5, node3); - const node1 = new _Node(1, node2, node3, null); - + const node8 = new _Node(8, null, null, null) + const node7 = new _Node(7, null, null, node8) + const node6 = new _Node(6, null, node8, null) + const node3 = new _Node(3, null, node6, null) + const node5 = new _Node(5, null, null, node6) + const node4 = new _Node(4, node7, null, node5) + const node2 = new _Node(2, node4, node5, node3) + const node1 = new _Node(1, node2, node3, null) + // Connect nodes and compare - expect(connect(node)).toEqual(node1); + expect(connect(node)).toEqual(node1) }) diff --git a/src/test/ts/g0101_0200/s0120_triangle/solution.test.ts b/src/test/ts/g0101_0200/s0120_triangle/solution.test.ts index 17881b4..4404f47 100644 --- a/src/test/ts/g0101_0200/s0120_triangle/solution.test.ts +++ b/src/test/ts/g0101_0200/s0120_triangle/solution.test.ts @@ -3,7 +3,7 @@ import { minimumTotal } from 'src/main/ts/g0101_0200/s0120_triangle/solution' import { expect, test } from 'vitest' test('minimumTotal', () => { - expect(minimumTotal([[2],[3,4],[6,5,7],[4,1,8,3]])).toEqual(11) + expect(minimumTotal([[2], [3, 4], [6, 5, 7], [4, 1, 8, 3]])).toEqual(11) }) test('minimumTotal2', () => { diff --git a/src/test/ts/g0101_0200/s0122_best_time_to_buy_and_sell_stock_ii/solution.test.ts b/src/test/ts/g0101_0200/s0122_best_time_to_buy_and_sell_stock_ii/solution.test.ts index 7e2b6f2..82d46de 100644 --- a/src/test/ts/g0101_0200/s0122_best_time_to_buy_and_sell_stock_ii/solution.test.ts +++ b/src/test/ts/g0101_0200/s0122_best_time_to_buy_and_sell_stock_ii/solution.test.ts @@ -3,13 +3,13 @@ import { maxProfit } from 'src/main/ts/g0101_0200/s0122_best_time_to_buy_and_sel import { expect, test } from 'vitest' test('maxProfit', () => { - expect(maxProfit([7,1,5,3,6,4])).toEqual(7) + expect(maxProfit([7, 1, 5, 3, 6, 4])).toEqual(7) }) test('maxProfit2', () => { - expect(maxProfit([1,2,3,4,5])).toEqual(4) + expect(maxProfit([1, 2, 3, 4, 5])).toEqual(4) }) test('maxProfit3', () => { - expect(maxProfit([7,6,4,3,1])).toEqual(0) + expect(maxProfit([7, 6, 4, 3, 1])).toEqual(0) }) diff --git a/src/test/ts/g0101_0200/s0123_best_time_to_buy_and_sell_stock_iii/solution.test.ts b/src/test/ts/g0101_0200/s0123_best_time_to_buy_and_sell_stock_iii/solution.test.ts index 6460fcc..7c73ba3 100644 --- a/src/test/ts/g0101_0200/s0123_best_time_to_buy_and_sell_stock_iii/solution.test.ts +++ b/src/test/ts/g0101_0200/s0123_best_time_to_buy_and_sell_stock_iii/solution.test.ts @@ -3,13 +3,13 @@ import { maxProfit } from 'src/main/ts/g0101_0200/s0123_best_time_to_buy_and_sel import { expect, test } from 'vitest' test('maxProfit', () => { - expect(maxProfit([3,3,5,0,0,3,1,4])).toEqual(6) + expect(maxProfit([3, 3, 5, 0, 0, 3, 1, 4])).toEqual(6) }) test('maxProfit2', () => { - expect(maxProfit([1,2,3,4,5])).toEqual(4) + expect(maxProfit([1, 2, 3, 4, 5])).toEqual(4) }) test('maxProfit6', () => { - expect(maxProfit([7,6,4,3,1])).toEqual(0) + expect(maxProfit([7, 6, 4, 3, 1])).toEqual(0) })