Skip to main content

Posts

Showing posts from October, 2022

Leetcode 1143. Longest Common Subsequence. Python [Blind 75 Finally Done!]

1143 .  Longest Common Subsequence   Given two strings  text1  and  text2 , return  the length of their longest  common subsequence .  If there is no  common subsequence , return  0 . A  subsequence  of a string is a new string generated from the original string with some characters (can be none) deleted without changing the relative order of the remaining characters. For example,  "ace"  is a subsequence of  "abcde" . A  common subsequence  of two strings is a subsequence that is common to both strings.   Example 1: Input: text1 = "abcde", text2 = "ace" Output: 3 Explanation: The longest common subsequence is "ace" and its length is 3. Example 2: Input: text1 = "abc", text2 = "abc" Output: 3 Explanation: The longest common subsequence is "abc" and its length is 3. Example 3: Input: text1 = "abc", text2 = "def" Output: 0 Explanation: There is no such common subsequence, so th

Leetcode 647. Palindromic Substrings. Python (O(n^2))

647 .  Palindromic Substrings   Given a string  s , return  the number of  palindromic substrings  in it . A string is a  palindrome  when it reads the same backward as forward. A  substring  is a contiguous sequence of characters within the string.   Example 1: Input: s = "abc" Output: 3 Explanation: Three palindromic strings: "a", "b", "c". Example 2: Input: s = "aaa" Output: 6 Explanation: Six palindromic strings: "a", "a", "a", "aa", "aa", "aaa".   Constraints: 1 <= s.length <= 1000 s  consists of lowercase English letters. Solution : class Solution: def countSubstrings(self, s: str) -> int: ans = 0 for i in range(len(s)): ans += self.pcount(s, i, i) ans += self.pcount(s, i, i+1) return ans def pcount(self, s, l, r): ans = 0 while l >= 0 and r < len(s) and s[l] == s[r