diff --git a/src/hackerrank/implementation/migratoryBirds.ts b/src/hackerrank/implementation/migratoryBirds.ts index bd7a14fc..0a1467b4 100644 --- a/src/hackerrank/implementation/migratoryBirds.ts +++ b/src/hackerrank/implementation/migratoryBirds.ts @@ -17,10 +17,10 @@ function migratoryBirds(arr: number[]): number { for (const bird of arr) { console.debug(`bird ${bird}`); - if (!map[bird]) { - map[bird] = 1; - } else { + if (map[bird]) { map[bird] += 1; + } else { + map[bird] = 1; } console.debug(`bird = ${bird} ~> map[bird] = ${map[bird]}`); diff --git a/src/hackerrank/interview_preparation_kit/dynamic_programming/max_array_sum.ts b/src/hackerrank/interview_preparation_kit/dynamic_programming/max_array_sum.ts index d6e1c0f3..2a5cffa5 100644 --- a/src/hackerrank/interview_preparation_kit/dynamic_programming/max_array_sum.ts +++ b/src/hackerrank/interview_preparation_kit/dynamic_programming/max_array_sum.ts @@ -4,7 +4,11 @@ */ const bigIntMax = (...args: bigint[]): bigint => - args.reduce((m, e) => (e > m ? e : m), BigInt(0)); + args.reduce((m, e) => { + const _e = BigInt(e); + const _m = BigInt(m); + return _e > _m ? _e : _m; + }, BigInt(0)); function maxSubsetSum(arr: number[]): number { const arrCopy: bigint[] = arr.map((x: number): bigint => BigInt(x)); diff --git a/src/hackerrank/interview_preparation_kit/greedy_algorithms/angry_children.ts b/src/hackerrank/interview_preparation_kit/greedy_algorithms/angry_children.ts index a001ecdb..22e32530 100644 --- a/src/hackerrank/interview_preparation_kit/greedy_algorithms/angry_children.ts +++ b/src/hackerrank/interview_preparation_kit/greedy_algorithms/angry_children.ts @@ -7,7 +7,7 @@ function maxMin(k: number, arr: number[]): number { .map((x: number): number => x) .sort((a: number, b: number): number => a - b); - let result = sortedlist[sortedlist.length - 1] - sortedlist[0]; + let result = (sortedlist.at(-1) ?? 0) - sortedlist[0]; for (let i = 0; i < sortedlist.length - k + 1; i++) { const tmin = sortedlist[i]; diff --git a/src/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.ts b/src/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.ts index 7d57f51d..7e9074f7 100644 --- a/src/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.ts +++ b/src/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.ts @@ -7,7 +7,7 @@ function minimumAbsoluteDifference(arr: number[]): number { .map((x: number): number => x) .sort((a: number, b: number): number => b - a); - let result = Math.abs(sortedNums[sortedNums.length - 1] - sortedNums[0]); + let result = Math.abs((sortedNums.at(-1) ?? 0) - sortedNums[0]); for (let i = 0; i < sortedNums.length - 1; i++) { const aValue = sortedNums[i]; diff --git a/src/hackerrank/interview_preparation_kit/sort/ctci_bubble_sort.ts b/src/hackerrank/interview_preparation_kit/sort/ctci_bubble_sort.ts index 36f79ff8..6bdb6f9b 100644 --- a/src/hackerrank/interview_preparation_kit/sort/ctci_bubble_sort.ts +++ b/src/hackerrank/interview_preparation_kit/sort/ctci_bubble_sort.ts @@ -7,10 +7,9 @@ const SEPARATOR = '\n'; class SortableGroup { group: number[]; - count: number; + count = 0; constructor(group: number[]) { - this.count = 0; this.group = group; } diff --git a/src/hackerrank/interview_preparation_kit/sort/ctci_comparator_sorting.ts b/src/hackerrank/interview_preparation_kit/sort/ctci_comparator_sorting.ts index cb93559b..6f7ee90f 100644 --- a/src/hackerrank/interview_preparation_kit/sort/ctci_comparator_sorting.ts +++ b/src/hackerrank/interview_preparation_kit/sort/ctci_comparator_sorting.ts @@ -53,4 +53,5 @@ export default { comparatorSortingPrint }; -export { Player, SortablePlayer, comparatorSorting, comparatorSortingPrint }; +export { Player } from './ctci_comparator_sorting.Player'; +export { SortablePlayer, comparatorSorting, comparatorSortingPrint }; diff --git a/src/hackerrank/interview_preparation_kit/stacks_and_queues/balanced_brackets.ts b/src/hackerrank/interview_preparation_kit/stacks_and_queues/balanced_brackets.ts index 877b3ca6..2a1ea30b 100644 --- a/src/hackerrank/interview_preparation_kit/stacks_and_queues/balanced_brackets.ts +++ b/src/hackerrank/interview_preparation_kit/stacks_and_queues/balanced_brackets.ts @@ -12,10 +12,7 @@ function isBalancedCompute(s: string): boolean { for (const letter of s.split('')) { if (letter in pairs) { brackets.push(letter); - } else if ( - brackets.length > 0 && - pairs[brackets[brackets.length - 1]] === letter - ) { + } else if (brackets.length > 0 && pairs[brackets.at(-1) ?? 0] === letter) { brackets.pop(); } else { return false; diff --git a/src/projecteuler/problem0005.ts b/src/projecteuler/problem0005.ts index adfbbd55..3ffda3b3 100644 --- a/src/projecteuler/problem0005.ts +++ b/src/projecteuler/problem0005.ts @@ -33,7 +33,7 @@ function _replaceMaximum( const element = _group.get(_element); if (element) { - _group.set(_element, count > element ? count : element); + _group.set(_element, Math.max(count, element)); } else { _group.set(_element, count); } diff --git a/src/projecteuler/problem0007.ts b/src/projecteuler/problem0007.ts index 1f5e0eb8..13011fce 100644 --- a/src/projecteuler/problem0007.ts +++ b/src/projecteuler/problem0007.ts @@ -22,7 +22,7 @@ function problem0007(_top: number): number { console.log(`primes count: ${primes.length}`); - const answer = primes[primes.length - 1]; + const answer = primes.at(-1) ?? 0; const cycles = i; console.log(`${_top} prime number is: ${answer} in ${cycles} cycles`); diff --git a/src/projecteuler/problem0017.ts b/src/projecteuler/problem0017.ts index 7a4bf0ce..6ff90a43 100644 --- a/src/projecteuler/problem0017.ts +++ b/src/projecteuler/problem0017.ts @@ -12,7 +12,7 @@ function problem0017(init: number, last: number): number { for (let i = init; i <= last; i++) { word = numberToWord(i); - replaced = word.replace(/[^a-z0-9]/gi, ''); + replaced = word.replaceAll(/[^a-z0-9]/gi, ''); acum += replaced.length; diff --git a/src/projecteuler/problem0018.ts b/src/projecteuler/problem0018.ts index 8dc70e8c..c5f690c4 100644 --- a/src/projecteuler/problem0018.ts +++ b/src/projecteuler/problem0018.ts @@ -32,7 +32,7 @@ function problem0018(_triangle: number[][]): number { console.debug(`leafs: ${leafs.toString()}`); const __START_FROM__ = 0; - const max = leafs.reduce((a, b) => (a > b ? a : b), __START_FROM__); + const max = leafs.reduce((a, b) => Math.max(a, b), __START_FROM__); return max; }