diff --git a/Dynamic-Programming/LongestPalindromicSubsequence.js b/Dynamic-Programming/LongestPalindromicSubsequence.js index 00c4b2a89..c6281e80e 100644 --- a/Dynamic-Programming/LongestPalindromicSubsequence.js +++ b/Dynamic-Programming/LongestPalindromicSubsequence.js @@ -6,7 +6,7 @@ */ -const longestPalindromeSubsequence = function (s) { +export const longestPalindromeSubsequence = function (s) { const n = s.length const dp = new Array(n).fill(0).map(item => new Array(n).fill(0).map(item => 0)) @@ -29,11 +29,3 @@ const longestPalindromeSubsequence = function (s) { return dp[0][n - 1] } - -const main = () => { - console.log(longestPalindromeSubsequence('bbbab')) // 4 - console.log(longestPalindromeSubsequence('axbya')) // 3 - console.log(longestPalindromeSubsequence('racexyzcxar')) // 7 -} - -main() diff --git a/Dynamic-Programming/tests/LongestPalindromicSubsequence.test.js b/Dynamic-Programming/tests/LongestPalindromicSubsequence.test.js new file mode 100644 index 000000000..2176420a8 --- /dev/null +++ b/Dynamic-Programming/tests/LongestPalindromicSubsequence.test.js @@ -0,0 +1,19 @@ +import { longestPalindromeSubsequence } from '../LongestPalindromicSubsequence' + +describe('LongestPalindromicSubsequence', () => { + it('expects to return 0 as longest pallindromic subsequence', () => { + expect(longestPalindromeSubsequence('abcdefgh')).toBe(1) + }) + + it('expects to return 4 as longest pallindromic subsequence', () => { + expect(longestPalindromeSubsequence('bbbab')).toBe(4) + }) + + it('expects to return 2 as longest pallindromic subsequence', () => { + expect(longestPalindromeSubsequence('cbbd')).toBe(2) + }) + + it('expects to return 7 as longest pallindromic subsequence', () => { + expect(longestPalindromeSubsequence('racexyzcxar')).toBe(7) + }) +})