Number of Palindromic Substrings (BinarySearch)

[BS link]

Given a lowercase alphabet string s, return the number of   in s.

Constraints

  • 1 ≤ n ≤ 1,000 where n is the length of s

Example 1

Input

s = "tacocat"

Output

10

Explanation

The palindromic substrings are:

  • "t"
  • "a"
  • "c"
  • "o"
  • "c"
  • "a"
  • "t"
  • "coc"
  • "acoca"
  • "tacocat"

Here is an easy/naive approach.

Start with a position i. Check if string of i-1, i, i+1 is a palindrome; continue expanding if still valid. Once found the longest possible palindrome with the center of i, simply get its length and divide by 2 for the number of palindromes.

The above is for palindrome of odd lengths, what about even length ones? We can pick i, and i+1 as a start. If it is a palindrome then continue expanding. The rest is the same.

Python solution

class Solution:
    def solve(self, s):
        
        def trv(s, start, end):
            while start >= 0 and end < len(s) and s[start]==s[end]:
                start -=1
                end +=1
            return end - start - 1

        ans = 0

        for i in range(n := len(s)):
            odds = trv(s, i, i)
            evens = trv(s, i, i+1)
            ans += (odds//2) + (evens//2)

        ans += n

        return ans

LOVE YOUR LOCAL MARIBYRNONG COUNCIL

LOVE YOUR LOCAL MARIBYRNONG

SERVICE
:

WORDPRESS DEVELOPMENT

DATE
:

01 DECEMBER, 2020

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.

Creative and Functional

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

express-delivery
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.
Herbert James
CHIEF EXECUTIVE OFFICER

LATEST POSTS

Number of Palindromic Substrings (BinarySearch)

[BS link] Given a lowercase alphabet string s, return the number of palindromic substrings in s. Constraints 1 ≤ n ≤ 1,000 where n is the length of s Example 1 Input s = "tacocat" Output 10 Explanation The palindromic
Read More

Jupiter X now comes with JetMenu, so you can fully customize your mega menus. Check out its awesome features here. (link: http://ow.ly/PEVk30nkQOS) ow.ly/PEVk30nkQOS

#jupiterx #megamenu #jetmenu #wordpress

DENTAL CLINIC JUPITERX TEMPLATE

DENTAL CLINIC JUPITERX TEMPLATE

SERVICE
:

USER INTERFACE DESIGN / FRONT-END DEVELOPMENT

DATE
:

12 JANUARY, 2019

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.

Creative and Functional

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

express-delivery
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.
Herbert James
CHIEF EXECUTIVE OFFICER

LATEST POSTS

Number of Palindromic Substrings (BinarySearch)

[BS link] Given a lowercase alphabet string s, return the number of palindromic substrings in s. Constraints 1 ≤ n ≤ 1,000 where n is the length of s Example 1 Input s = "tacocat" Output 10 Explanation The palindromic
Read More

Jupiter X now comes with JetMenu, so you can fully customize your mega menus. Check out its awesome features here. (link: http://ow.ly/PEVk30nkQOS) ow.ly/PEVk30nkQOS

#jupiterx #megamenu #jetmenu #wordpress

SPA & MASSAGE CENTER JUPITERX TEMPLATE

SPA & MASSAGE CENTER JUPITERX TEMPLATE

SERVICE
:

USER INTERFACE DESIGN / FRONT-END DEVELOPMENT

DATE
:

12 JANUARY, 2019

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.

Creative and Functional

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

express-delivery
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.
Herbert James
CHIEF EXECUTIVE OFFICER

LATEST POSTS

Number of Palindromic Substrings (BinarySearch)

[BS link] Given a lowercase alphabet string s, return the number of palindromic substrings in s. Constraints 1 ≤ n ≤ 1,000 where n is the length of s Example 1 Input s = "tacocat" Output 10 Explanation The palindromic
Read More

Jupiter X now comes with JetMenu, so you can fully customize your mega menus. Check out its awesome features here. (link: http://ow.ly/PEVk30nkQOS) ow.ly/PEVk30nkQOS

#jupiterx #megamenu #jetmenu #wordpress

CAFE & RESTAURANT JUPITERX TEMPLATE

CAFE & RESTAURANT JUPITERX TEMPLATE

SERVICE
:

USER INTERFACE DESIGN / FRONT-END DEVELOPMENT

DATE
:

12 JANUARY, 2019

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.

Creative and Functional

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

express-delivery
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.
Herbert James
CHIEF EXECUTIVE OFFICER

LATEST POSTS

Number of Palindromic Substrings (BinarySearch)

[BS link] Given a lowercase alphabet string s, return the number of palindromic substrings in s. Constraints 1 ≤ n ≤ 1,000 where n is the length of s Example 1 Input s = "tacocat" Output 10 Explanation The palindromic
Read More

Jupiter X now comes with JetMenu, so you can fully customize your mega menus. Check out its awesome features here. (link: http://ow.ly/PEVk30nkQOS) ow.ly/PEVk30nkQOS

#jupiterx #megamenu #jetmenu #wordpress

COSMETIC SHOP JUPITERX TEMPLATE

COSMETIC SHOP JUPITERX TEMPLATE

SERVICE
:

USER INTERFACE DESIGN / FRONT-END DEVELOPMENT

DATE
:

12 JANUARY, 2019

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.

Creative and Functional

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

express-delivery
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.
Herbert James
CHIEF EXECUTIVE OFFICER

LATEST POSTS

Number of Palindromic Substrings (BinarySearch)

[BS link] Given a lowercase alphabet string s, return the number of palindromic substrings in s. Constraints 1 ≤ n ≤ 1,000 where n is the length of s Example 1 Input s = "tacocat" Output 10 Explanation The palindromic
Read More

Jupiter X now comes with JetMenu, so you can fully customize your mega menus. Check out its awesome features here. (link: http://ow.ly/PEVk30nkQOS) ow.ly/PEVk30nkQOS

#jupiterx #megamenu #jetmenu #wordpress

ARCHUTECTS & INTERIOR JUPITERX TEMPLATE

ARCHITECTS & INTERIOR JUPITERX TEMPLATE

SERVICE
:

USER INTERFACE DESIGN / FRONT-END DEVELOPMENT

DATE
:

12 JANUARY, 2019

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.

Creative and Functional

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum.

express-delivery
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam nulla facilisi cras fermentum. Diam sit amet nisl suscipit adipiscing bibendum. Consequat mauris nunc congue nisi vitae suscipit tellus. Pulvinar etiam non quam lacus suspendisse faucibus interdum.
Herbert James
CHIEF EXECUTIVE OFFICER

LATEST POSTS

Number of Palindromic Substrings (BinarySearch)

[BS link] Given a lowercase alphabet string s, return the number of palindromic substrings in s. Constraints 1 ≤ n ≤ 1,000 where n is the length of s Example 1 Input s = "tacocat" Output 10 Explanation The palindromic
Read More

Jupiter X now comes with JetMenu, so you can fully customize your mega menus. Check out its awesome features here. (link: http://ow.ly/PEVk30nkQOS) ow.ly/PEVk30nkQOS

#jupiterx #megamenu #jetmenu #wordpress