Thử thách mã hóa
Thử thách: Cho một chuỗi. Làm thế nào để tìm tất cả palindromes trong chuỗi?Challenge: Given a string. How to find all palindromes in the string?
Để hiểu được, cho phép tôi nhanh chóng thêm một định nghĩa về thuật ngữ palindrom:
Định nghĩa: Một palindrom là một chuỗi các ký tự đọc cùng lùi như về phía trước như 'madam'
, 'anna'
hoặc '101'
.Definition: A palindrome is a sequence of characters that reads the same backward as forward such as
'madam'
, 'anna'
, or '101'
.
Bài viết này muốn cung cấp cho bạn một giải pháp nhanh chóng và dễ dàng trong Python. Đầu tiên, chúng tôi sẽ giải quyết vấn đề dễ dàng nhưng quan trọng hơn là kiểm tra xem một chất nền có phải là một palindrom ở nơi đầu tiên không:
Cách kiểm tra xem chuỗi có phải là palindrom không
Bạn có thể dễ dàng kiểm tra xem một chuỗi là một palindrom bằng cách sử dụng biểu thức cắt word == word[::-1]
đánh giá thành True
nếu từ này giống nhau về phía trước và ngược, tức là, nó là một palindrom.
Hướng dẫn được đề xuất: Python Palindromes One-LinerRecommended Tutorial: Python Palindromes One-Liner
Tiếp theo, chúng tôi sẽ khám phá cách tìm tất cả các chuỗi con trong chuỗi Python cũng là palindromes. Bạn có thể tìm thấy trình kiểm tra palindrom của chúng tôi trong giải pháp mã [được tô sáng]:
Tìm tất cả các nền tảng là palindrom
Cách tiếp cận vũ phu để tìm kiếm tất cả các palindromes trong một chuỗi là lặp lại tất cả các chuỗi con trong một vòng lặp ____10 được lồng nhau. Sau đó kiểm tra từng chuỗi con nếu nó là một palindrom sử dụng word == word[::-1]
. Theo dõi các palindromes được tìm thấy bằng phương pháp
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []2. Trả lại danh sách cuối cùng sau khi đi qua tất cả các chuỗi con.
Ở đây, giải pháp đầy đủ:
def find_palindromes[s]: palindromes = [] n = len[s] for i in range[n]: for j in range[i+1,n+1]: word = s[i:j] if word == word[::-1]: palindromes.append[word] return palindromes print[find_palindromes['locoannamadam']] # ['l', 'o', 'oco', 'c', 'o', 'a', 'anna', # 'n', 'nn', 'n', 'a', 'ama', 'm', 'madam', # 'a', 'ada', 'd', 'a', 'm'] print[find_palindromes['anna']] # ['a', 'anna', 'n', 'nn', 'n', 'a'] print[find_palindromes['abc']] # ['a', 'b', 'c']
Độ phức tạp thời gian chạy
Điều này có độ phức tạp thời gian chạy khối, tức là, đối với một chuỗi có độ dài
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []3, chúng ta cần kiểm tra
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []4 các từ khác nhau. Mỗi từ có thể có tối đa
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []3 ký tự, do đó, chính kiểm tra palindrom là
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []6. Cùng nhau, điều này mang lại độ phức tạp thời gian chạy của
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []7.
Giải pháp thời gian chạy bậc hai
đây là điều tốt nhất mà chúng ta có thể làm sao? Không! Có một giải pháp thời gian O [N²]!
Ở đây, một giải pháp raptime bậc hai để tìm tất cả các palindromes trong một chuỗi nhất định bỏ qua các palindromes một ký tự tầm thường [được sửa đổi đáng kể từ nguồn]:
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []
Vui lòng tham gia cộng đồng những người học đầy tham vọng của chúng tôi như bạn [chúng tôi cũng có những tấm che
Trong khi làm việc như một nhà nghiên cứu trong các hệ thống phân tán, Tiến sĩ Christian Mayer đã tìm thấy tình yêu của mình đối với việc dạy các sinh viên khoa học máy tính.
Để giúp học sinh đạt được thành công cao hơn của Python, ông đã thành lập trang web giáo dục chương trình Finxter.com. Ông là tác giả của cuốn sách lập trình phổ biến Python Oneer [Nostarch 2020], đồng tác giả của loạt sách Break Break Python, những cuốn sách tự xuất bản, người đam mê khoa học máy tính, freelancer và chủ sở hữu của một trong 10 blog Python lớn nhất trên toàn thế giới.
Niềm đam mê của ông là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ tăng cường các kỹ năng của họ. Bạn có thể tham gia học viện email miễn phí của anh ấy ở đây.
Đưa ra một chuỗi các ký tự ASCII viết thường, tìm tất cả các chuỗi phụ liên tục khác biệt của nó. & NBSP;
Examples:
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k
Phương pháp 1:
Bước 1: Tìm tất cả các palindromes bằng thuật toán của Manacher đã sửa đổi: & nbsp; coi mỗi ký tự như một trục, mở rộng ở cả hai bên để tìm độ dài của cả hai palindromes chẵn và lẻ tập trung vào ký tự trục tập dưới mức xem xét và lưu trữ độ dài trong 2 mảng [ODD & chẵn].
Considering each character as a pivot, expand on both sides to find the length of both even and odd length palindromes centered at the pivot character under consideration and store the length in the 2
arrays [odd & even].
Time complexity for this step is O[n^2]
Bước 2: Chèn tất cả các palindromes được tìm thấy trong một hashmap: & nbsp; chèn tất cả các palindromes được tìm thấy từ bước trước đó vào một hashmap. Cũng chèn tất cả các ký tự riêng lẻ từ chuỗi vào hashmap [để tạo ra các chuỗi phụ đơn lẻ khác nhau . Lưu ý rằng có thể có nhiều nhất là các chuỗi phụ O [N^2] của một chuỗi. Trong mã C ++ dưới đây được đặt hàng HashMap được sử dụng trong đó độ phức tạp của thời gian chèn và tìm kiếm là o [logn]. Trong C ++, HashMap được đặt hàng được triển khai bằng cây đen màu đỏ.
Insert all the palindromes found from the previous step into a HashMap. Also insert all the individual characters from the string into the HashMap [to generate distinct single letter palindromic sub-strings].
Time complexity of this step is O[n^3] assuming that the hash insert search takes O[1] time. Note that there can be at
most O[n^2] palindrome sub-strings of a string. In below C++ code ordered hashmap is used where the time complexity of insert and search is O[Logn]. In C++, ordered hashmap is implemented using Red Black Tree.
Bước 3: In các palindromes riêng biệt và số lượng các palindromes riêng biệt như vậy: & nbsp; bước cuối cùng là in tất cả các giá trị được lưu trữ trong hashmap [chỉ các phần tử riêng biệt sẽ được băm do tính chất của hashmap]. Kích thước của bản đồ cho số lượng các chuỗi phụ liên tục palindromic riêng biệt.
The last step is to print all values stored in the HashMap [only distinct
elements will be hashed due to the property of HashMap]. The size of the map gives the number of distinct palindromic continuous sub-strings.
Dưới đây là việc thực hiện ý tưởng trên.
C++
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []9
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k0
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k1
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k3
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k4
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k7
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k9
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
Below are 5 palindrome sub-strings a aa aaa aba b2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
Below are 5 palindrome sub-strings a aa aaa aba b5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Below are 5 palindrome sub-strings a aa aaa aba b7
Below are 5 palindrome sub-strings a aa aaa aba b8
Below are 5 palindrome sub-strings a aa aaa aba b9
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 100
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 106
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'madam'
1a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'madam'
3a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'madam'
6a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'madam'
8 'madam'
9a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
2'madam'
8 'anna'
4
'anna'
5'anna'
6
'anna'
2'anna'
8
'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'101'
1'anna'
2'madam'
8 '101'
4
'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
5'101'
8
'anna'
5word == word[::-1]
0
'anna'
2word == word[::-1]
2
'anna'
2word == word[::-1]
4
'anna'
2word == word[::-1]
6
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
True
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
True
4Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
True
9Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109____10
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 106
'anna'
2
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []11
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []12
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []13
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []15
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []18
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []19
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []20
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []21
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []23
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []24
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []18
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k7
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []29
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []18
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []32
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []34
word == word[::-1]
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []37
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []40
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []41
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []44
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []45
word == word[::-1]
2
Java
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []47
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []48
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []47
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []50
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []51
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []52
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []53
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []54
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []56
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k3
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []58
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []62
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []63
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []64
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []67
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []70
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []63
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []73__
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Below are 5 palindrome sub-strings a aa aaa aba b7
Below are 5 palindrome sub-strings a aa aaa aba b8
Below are 5 palindrome sub-strings a aa aaa aba b9
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 100
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []88
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []90
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []92
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []97
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []99
'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k01
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k03
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k08
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
'anna'
2'madam'
8 'madam'
9
'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
5'madam'
8
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k18
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k20
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k21
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k22
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k23
'anna'
6'anna'
5'anna'
8
'anna'
5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k29
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
'anna'
5'madam'
8 '101'
4
'anna'
5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k23
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k38
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k39
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k40
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k23
word == word[::-1]
0'anna'
5word == word[::-1]
2
'anna'
5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k46
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
'anna'
5word == word[::-1]
6
'anna'
2word == word[::-1]
2
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k56
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k58
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k62
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k64
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k66
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k08
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k75
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
2
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []88
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []90
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []92
'anna'
5
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k91
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k93
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k94
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k95
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k97
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k99
Below are 5 palindrome sub-strings a aa aaa aba b00
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []74
Below are 5 palindrome sub-strings a aa aaa aba b02
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
'anna'
2
Below are 5 palindrome sub-strings a aa aaa aba b06
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k66
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2Below are 5 palindrome sub-strings a aa aaa aba b13
Below are 5 palindrome sub-strings a aa aaa aba b14
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []20
Below are 5 palindrome sub-strings a aa aaa aba b16
Below are 5 palindrome sub-strings a aa aaa aba b17
Below are 5 palindrome sub-strings a aa aaa aba b00
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []24
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
Below are 5 palindrome sub-strings a aa aaa aba b13
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
Below are 5 palindrome sub-strings a aa aaa aba b23
Below are 5 palindrome sub-strings a aa aaa aba b24
Below are 5 palindrome sub-strings a aa aaa aba b25
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []51
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []56
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k3
Below are 5 palindrome sub-strings a aa aaa aba b32
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []40
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []41
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2word == word[::-1]
2
Python3
Below are 5 palindrome sub-strings a aa aaa aba b42
Below are 5 palindrome sub-strings a aa aaa aba b43
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Below are 5 palindrome sub-strings a aa aaa aba b45
Below are 5 palindrome sub-strings a aa aaa aba b46
Below are 5 palindrome sub-strings a aa aaa aba b47
Below are 5 palindrome sub-strings a aa aaa aba b48
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Below are 5 palindrome sub-strings a aa aaa aba b50
Below are 5 palindrome sub-strings a aa aaa aba b46
Below are 5 palindrome sub-strings a aa aaa aba b52
Below are 5 palindrome sub-strings a aa aaa aba b53
Các
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Below are 5 palindrome sub-strings a aa aaa aba b75
Below are 5 palindrome sub-strings a aa aaa aba b46
Below are 5 palindrome sub-strings a aa aaa aba b8
Below are 5 palindrome sub-strings a aa aaa aba b64
Below are 5 palindrome sub-strings a aa aaa aba b75
Below are 5 palindrome sub-strings a aa aaa aba b64
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 100
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
Below are 5 palindrome sub-strings a aa aaa aba b84
Below are 5 palindrome sub-strings a aa aaa aba b61
Below are 5 palindrome sub-strings a aa aaa aba b62
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []74
Below are 5 palindrome sub-strings a aa aaa aba b89
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Below are 5 palindrome sub-strings a aa aaa aba b91
Below are 5 palindrome sub-strings a aa aaa aba b46 ________ 189 & nbsp; & nbsp; & nbsp;
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109______201
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1001
Below are 5 palindrome sub-strings a aa aaa aba b46
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'madam'
8 a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1006
Below are 5 palindrome sub-strings a aa aaa aba b46
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1008
'anna'
2'madam'
8
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1011
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1012
Below are 5 palindrome sub-strings a aa aaa aba b91__
'anna'
5
Below are 5 palindrome sub-strings a aa aaa aba b91
Below are 5 palindrome sub-strings a aa aaa aba b64
Below are 5 palindrome sub-strings a aa aaa aba b46
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
'anna'
2
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1030
Below are 5 palindrome sub-strings a aa aaa aba b46
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1032
'anna'
2
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1034
Below are 5 palindrome sub-strings a aa aaa aba b46
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
'anna'
2'madam'
8
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1039
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1012
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1041__
Các
'anna'
5
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1034
Below are 5 palindrome sub-strings a aa aaa aba b64
Below are 5 palindrome sub-strings a aa aaa aba b46
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
'anna'
2
Below are 5 palindrome sub-strings a aa aaa aba b91
Below are 5 palindrome sub-strings a aa aaa aba b46
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1067
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1068
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1012
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1070
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1072
'anna'
2
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1001
Below are 5 palindrome sub-strings a aa aaa aba b64
Below are 5 palindrome sub-strings a aa aaa aba b46
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1077
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Below are 5 palindrome sub-strings a aa aaa aba b75
Below are 5 palindrome sub-strings a aa aaa aba b46
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1081
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1083
Below are 5 palindrome sub-strings a aa aaa aba b522____353
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1012
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1088
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1090
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1092
Below are 5 palindrome sub-strings a aa aaa aba b46
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1001
Below are 5 palindrome sub-strings a aa aaa aba b61
Below are 5 palindrome sub-strings a aa aaa aba b62
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
'madam'
02a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
Below are 5 palindrome sub-strings a aa aaa aba b84
Below are 5 palindrome sub-strings a aa aaa aba b61
Below are 5 palindrome sub-strings a aa aaa aba b62
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []74
Below are 5 palindrome sub-strings a aa aaa aba b89
Is
'anna'
5'madam'
23
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1012
Below are 5 palindrome sub-strings a aa aaa aba b91
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1012
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'madam'
42Below are 5 palindrome sub-strings a aa aaa aba b46
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
'madam'
46 a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104___
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1001
Below are 5 palindrome sub-strings a aa aaa aba b61
'madam'
61a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'madam'
46 'madam'
64def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []40
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []41
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 1072
C#
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k0
'madam'
69Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k0
'madam'
71def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []52
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []53
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []51
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []56
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k3
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []40
'madam'
80 'madam'
81Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'madam'
85'madam'
80Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k64
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'madam'
90def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []63
'madam'
85'madam'
80Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k64
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'madam'
97a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'anna'
00a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'anna'
03def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []63
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'anna'
06a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Below are 5 palindrome sub-strings a aa aaa aba b7
Below are 5 palindrome sub-strings a aa aaa aba b8
Below are 5 palindrome sub-strings a aa aaa aba b9
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 100
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109____10
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 106
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'anna'
22'anna'
2'anna'
24
'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'madam'
6'anna'
2'madam'
8 'madam'
9
'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
5'madam'
8 'anna'
4
'anna'
5'anna'
37
'anna'
5'anna'
39
'anna'
5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'101'
1'anna'
5'madam'
8 'anna'
45
'anna'
5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k23
'anna'
49Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k23
word == word[::-1]
0'anna'
5word == word[::-1]
2
'anna'
5'anna'
55
'anna'
5word == word[::-1]
6
'anna'
2word == word[::-1]
2
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'anna'
63a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'anna'
65 'anna'
66'anna'
2'anna'
68
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'anna'
70'anna'
2'anna'
72
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109____10
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'anna'
77a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
2
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 106
'anna'
2
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
'anna'
89'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
5'anna'
65 'anna'
94
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k23
'anna'
96'anna'
5'anna'
70
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k23
'101'
00'anna'
2word == word[::-1]
2
'anna'
2'anna'
65 '101'
05
'anna'
5'101'
07
'anna'
2'anna'
70
'anna'
5'101'
11
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'101'
15def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []20
'101'
17Các
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'101'
28Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []51
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []56
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k3
'101'
35'madam'
80'101'
37Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []40
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []41
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2word == word[::-1]
2
JavaScript
'101'
47
'101'
48 '101'
49
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
'101'
52def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []63
'101'
54Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
'101'
56Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
'101'
58def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []63
'101'
60Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
'101'
63a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'101'
65def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []63
'101'
67Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Below are 5 palindrome sub-strings a aa aaa aba b7
Below are 5 palindrome sub-strings a aa aaa aba b8
Below are 5 palindrome sub-strings a aa aaa aba b9
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 100
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
'101'
76Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'101'
80a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'madam'
3a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'101'
84a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'madam'
8 'madam'
9a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
2'madam'
8 'anna'
4
'anna'
5'anna'
6
'anna'
2'anna'
8
'anna'
2'101'
98
'anna'
2'madam'
8 '101'
4
'anna'
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
5word == word[::-1]
05
'anna'
5word == word[::-1]
0
'anna'
2word == word[::-1]
2
'anna'
2word == word[::-1]
11
'anna'
2word == word[::-1]
6
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
19Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
21Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
word == word[::-1]
24Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109____10
word == word[::-1]
29'anna'
2
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
word == word[::-1]
32def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []12
word == word[::-1]
34'anna'
2word == word[::-1]
2
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
40Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []18
word == word[::-1]
44word == word[::-1]
45def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []18
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
word == word[::-1]
49def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
word == word[::-1]
51word == word[::-1]
45____def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
word == word[::-1]
2
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []40
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []41
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []42
word == word[::-1]
58
Output:
Below are 5 palindrome sub-strings a aa aaa aba b
Phương pháp 2:
Chiều dài chuỗi - n
Bước 1: Tìm tất cả các chuỗi phụ palindromic
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Đầu tiên cho mọi kiểm tra chuỗi con nếu nó là palindrom hoặc không sử dụng lập trình động như thế này-//www.geeksforgeek.org/count-motindrom-sub-string-string/First for every sub-string check if it is palindrome or not using dynamic programming like this – //www.geeksforgeeks.org/count-palindrome-sub-strings-string/
& nbsp; & nbsp; & nbsp; & nbsp; Độ phức tạp về thời gian - O [N2] & NBSP; và & nbsp; Độ phức tạp không gian - O [N2]
Bước 2: Loại bỏ các palindromes trùng lặp
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Đối với mọi chỉ mục bắt đầu từ INDEX 0, chúng tôi sẽ sử dụng thuật toán KMP và kiểm tra xem tiền tố và hậu tố có giống nhau không và là palindrom thì chúng tôi sẽ đặt 0 mảng dp cho chuỗi phụ hậu tố đóFor every index starting from index 0 we will use KMP algorithm and check if prefix and suffix is same and is palindrome then we will put 0 the dp array for that suffix sub-string
& nbsp; & nbsp; & nbsp; & nbsp; Độ phức tạp thời gian O [N2] & NBSP; & nbsp; và & nbsp; Độ phức tạp không gian O [N] cho mảng KMP
Bước 3: In các palindromes riêng biệt và số lượng palindromes như vậy
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cho mỗi kiểm tra chuỗi con nếu nó có trong mảng dp [tức là dp [i] [j] == true] và in nó.For every sub-string check if it is present in dp array [i.e dp[i][j] == true] and print it.
& nbsp; & nbsp; & nbsp; & nbsp; Độ phức tạp thời gian O [N2] & NBSP; và & nbsp; & nbsp; độ phức tạp không gian o [n]
Độ phức tạp về thời gian tổng thể - O [N2]
Độ phức tạp không gian tổng thể - O [N2]
Dưới đây là việc thực hiện ý tưởng trên.
C++
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []8
word == word[::-1]
60
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k0
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k1
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
word == word[::-1]
65Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
Below are 5 palindrome sub-strings a aa aaa aba b2
Các
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
word == word[::-1]
82a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
84a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'anna'
65 word == word[::-1]
87'anna'
2word == word[::-1]
89
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
word == word[::-1]
98a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109____10
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
True
03'anna'
2'anna'
65 True
06
'anna'
5True
08
'anna'
5True
10True
11
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
'anna'
2word == word[::-1]
2
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
True
20Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
True
22Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
word == word[::-1]
82a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
True
30a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'madam'
8 True
33'anna'
2'anna'
65 True
36
'anna'
5True
38word == word[::-1]
76
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
'anna'
5True
42
'anna'
2word == word[::-1]
2
'anna'
2'anna'
70 'anna'
65 True
48
'anna'
5True
50
'anna'
2word == word[::-1]
2
'anna'
2'anna'
70
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
'anna'
5True
57
'anna'
2word == word[::-1]
2
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
True
66Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
word == word[::-1]
82a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
True
73a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109____10
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
True
78'anna'
2True
80
'anna'
2'anna'
65 True
83
'anna'
5True
85
'anna'
5True
87True
88
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
'anna'
2word == word[::-1]
2
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []19
True
98True
99
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []000
True
88a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []44
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []45
word == word[::-1]
2
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []37
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []011
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []41
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []013
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []014
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []017
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []019
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []44
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []45
word == word[::-1]
2
Java
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []47
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []025
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []52
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []53
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []029
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []51
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []56
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k3
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []033
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []029
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []037
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []41
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []013
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []014
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []017
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []019
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []029
word == word[::-1]
2def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []029
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []51
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []56
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []052
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []029
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []67
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []059
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []060
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []63
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []059
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []063
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k08
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k75
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []074
True
11a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
'anna'
65 def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []079
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Below are 5 palindrome sub-strings a aa aaa aba b24
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []082
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []084
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []086
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k03
True
11a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []099
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []100
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []101
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'anna'
65 def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []113
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []115
'anna'
2
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []117
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []119
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []121
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []123
Below are 5 palindrome sub-strings a aa aaa aba b24
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []125
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []127
True
11a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []138
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []63
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []141
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k08
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k75
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
'anna'
65 def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []079
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []099
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []100
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []101
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []0
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 104
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Below are 5 palindrome sub-strings a aa aaa aba b24
True
38word == word[::-1]
76a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
Below are 5 palindrome sub-strings a aa aaa aba b24
True
42a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'anna'
65 def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []113
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []115
Below are 5 palindrome sub-strings a aa aaa aba b24
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []181
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []77
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []138
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []63
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []141
Below are 5 palindrome sub-strings a aa aaa aba b24
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []190
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
word == word[::-1]
2def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k8
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []88
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []155
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []76
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
'madam'
8 True
33a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'anna'
65 def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []163
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []212
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []213
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 101
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'anna'
70 'anna'
65 def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []177
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []89
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []179
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []221
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
'anna'
70 Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k5
Below are 5 palindrome sub-strings a aa aaa aba b24
True
85Below are 5 palindrome sub-strings a aa aaa aba b24
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []230
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 109
word == word[::-1]
2def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
Below are 5 palindrome sub-strings a aa aaa aba b14
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
True
98def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []33
def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []242
Input: str = "abaaa" Output: Below are 5 palindrome sub-strings a aa aaa aba b Input: str = "geek" Output: Below are 4 palindrome sub-strings e ee g k6
word == word[::-1]
2def find_palindromes[s, j, k]: ''' Finds palindromes in substring between indices j and k''' palindromes = [] while j >= 0 and k < len[s]: if s[j] != s[k]: break palindromes.append[s[j: k + 1]] j -= 1 k += 1 return palindromes def find_all[s]: '''Finds all palindromes [non-trivial] in string s''' palindromes = [] for i in range[0, len[s]]: palindromes.extend[find_palindromes[s, i-1, i+1]] palindromes.extend[find_palindromes[s, i, i+1]] return palindromes print[find_all['locoannamadam']] # ['oco', 'nn', 'anna', 'ama', 'ada', 'madam'] print[find_all['anna']] # ['nn', 'anna'] print[find_all['abc']] # []029
word == word[::-1]
2word == word[::-1]
2
Input: str = "abaaa"
Output: Below are 5 palindrome sub-strings
a
aa
aaa
aba
b
Input: str = "geek"
Output: Below are 4 palindrome sub-strings
e
ee
g
k
6Input: str = "abaaa"
Output: Below are 5 palindrome sub-strings
a
aa
aaa
aba
b
Input: str = "geek"
Output: Below are 4 palindrome sub-strings
e
ee
g
k
8 def find_palindromes[s, j, k]:
''' Finds palindromes in substring between indices j and k'''
palindromes = []
while j >= 0 and k < len[s]:
if s[j] != s[k]:
break
palindromes.append[s[j: k + 1]]
j -= 1
k += 1
return palindromes
def find_all[s]:
'''Finds all palindromes [non-trivial] in string s'''
palindromes = []
for i in range[0, len[s]]:
palindromes.extend[find_palindromes[s, i-1, i+1]]
palindromes.extend[find_palindromes[s, i, i+1]]
return palindromes
print[find_all['locoannamadam']]
# ['oco', 'nn', 'anna', 'ama', 'ada', 'madam']
print[find_all['anna']]
# ['nn', 'anna']
print[find_all['abc']]
# []
201def find_palindromes[s, j, k]:
''' Finds palindromes in substring between indices j and k'''
palindromes = []
while j >= 0 and k < len[s]:
if s[j] != s[k]:
break
palindromes.append[s[j: k + 1]]
j -= 1
k += 1
return palindromes
def find_all[s]:
'''Finds all palindromes [non-trivial] in string s'''
palindromes = []
for i in range[0, len[s]]:
palindromes.extend[find_palindromes[s, i-1, i+1]]
palindromes.extend[find_palindromes[s, i, i+1]]
return palindromes
print[find_all['locoannamadam']]
# ['oco', 'nn', 'anna', 'ama', 'ada', 'madam']
print[find_all['anna']]
# ['nn', 'anna']
print[find_all['abc']]
# []
89a
aba
b
aa
aaa
Total number of distinct palindromes is 5
a
aa
aaa
aaaa
aaaaa
aaaaaa
aaaaaaa
aaaaaaaa
aaaaaaaaa
aaaaaaaaaa
Total number of distinct palindromes is 10
1
a aba b aa aaa Total number of distinct palindromes is 5 a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa Total number of distinct palindromes is 10
Input: str = "abaaa"
Output: Below are 5 palindrome sub-strings
a
aa
aaa
aba
b
Input: str = "geek"
Output: Below are 4 palindrome sub-strings
e
ee
g
k
6def find_palindromes[s, j, k]:
''' Finds palindromes in substring between indices j and k'''
palindromes = []
while j >= 0 and k < len[s]:
if s[j] != s[k]:
break
palindromes.append[s[j: k + 1]]
j -= 1
k += 1
return palindromes
def find_all[s]:
'''Finds all palindromes [non-trivial] in string s'''
palindromes = []
for i in range[0, len[s]]:
palindromes.extend[find_palindromes[s, i-1, i+1]]
palindromes.extend[find_palindromes[s, i, i+1]]
return palindromes
print[find_all['locoannamadam']]
# ['oco', 'nn', 'anna', 'ama', 'ada', 'madam']
print[find_all['anna']]
# ['nn', 'anna']
print[find_all['abc']]
# []
0 a
aba
b
aa
aaa
Total number of distinct palindromes is 5
a
aa
aaa
aaaa
aaaaa
aaaaaa
aaaaaaa
aaaaaaaa
aaaaaaaaa
aaaaaaaaaa
Total number of distinct palindromes is 10
4Input: str = "abaaa"
Output: Below are 5 palindrome sub-strings
a
aa
aaa
aba
b
Input: str = "geek"
Output: Below are 4 palindrome sub-strings
e
ee
g
k
8 Input: str = "abaaa"
Output: Below are 5 palindrome sub-strings
a
aa
aaa
aba
b
Input: str = "geek"
Output: Below are 4 palindrome sub-strings
e
ee
g
k
08def find_palindromes[s, j, k]:
''' Finds palindromes in substring between indices j and k'''
palindromes = []
while j >= 0 and k < len[s]:
if s[j] != s[k]:
break
palindromes.append[s[j: k + 1]]
j -= 1
k += 1
return palindromes
def find_all[s]:
'''Finds all palindromes [non-trivial] in string s'''
palindromes = []
for i in range[0, len[s]]:
palindromes.extend[find_palindromes[s, i-1, i+1]]
palindromes.extend[find_palindromes[s, i, i+1]]
return palindromes
print[find_all['locoannamadam']]
# ['oco', 'nn', 'anna', 'ama', 'ada', 'madam']
print[find_all['anna']]
# ['nn', 'anna']
print[find_all['abc']]
# []
89def find_palindromes[s, j, k]:
''' Finds palindromes in substring between indices j and k'''
palindromes = []
while j >= 0 and k < len[s]:
if s[j] != s[k]:
break
palindromes.append[s[j: k + 1]]
j -= 1
k += 1
return palindromes
def find_all[s]:
'''Finds all palindromes [non-trivial] in string s'''
palindromes = []
for i in range[0, len[s]]:
palindromes.extend[find_palindromes[s, i-1, i+1]]
palindromes.extend[find_palindromes[s, i, i+1]]
return palindromes
print[find_all['locoannamadam']]
# ['oco', 'nn', 'anna', 'ama', 'ada', 'madam']
print[find_all['anna']]
# ['nn', 'anna']
print[find_all['abc']]
# []
210
Count All Palindrome Sub-Strings in a String
This article is contributed by Vignesh Narayanan and
Sowmya Sampath. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.