кодесурса

Упражнения по Java-строке: поиск самой длинной палиндромной подстроки в строке

script1adsense2code
script1adsense3code

Строка Java: упражнение 32 с решением

Напишите Java-программу для поиска самой длинной палиндромной подстроки в строке.

Иллюстрированная презентация:


Пример решения:

Java-код:

import java.util.*;
public class Main {
 static void printSubStr(String str1, int l, int h) {
  System.out.println(str1.substring(l, h + 1));
 }
 static int longPalSubstr(String str1) {
  int n = str1.length();
  boolean table[][] = new boolean[n][n];
  int mLength = 1;
  for (int i = 0; i < n; ++i)
   table[i][i] = true;
  int strt = 0;
  for (int i = 0; i < n - 1; ++i) {
   if (str1.charAt(i) == str1.charAt(i + 1)) {
    table[i][i + 1] = true;
    strt = i;
    mLength = 2;
   }
  }
  for (int k = 3; k <= n; ++k) {
   for (int i = 0; i < n - k + 1; ++i) {
    int j = i + k - 1;
    if (table[i + 1][j - 1] && str1.charAt(i) == str1.charAt(j)) {
     table[i][j] = true;
     if (k > mLength) {
      strt = i;
      mLength = k;
     }
    }
   }
  }
  System.out.print("The longest palindrome substring in the given string is; ");
  printSubStr(str1, strt, strt + mLength - 1);
  return mLength;
 }
 public static void main(String[] args) {
  String str1 ="thequickbrownfoxxofnworbquickthe";
  System.out.println("The given string is: " + str1);
  System.out.println("The length of the palindromic substring is: " + longPalSubstr(str1));
 }
}

Пример вывода:

 Данная строка: thequickbrownfoxxofnworbquickthe
Самая длинная палиндромная подстрока в организме
en строка is; brownfoxxofnworb
Длина палиндромной подстроки: 16

Блок - схема:

«Блок-схема:

Редактор кода Java:

Улучшите этот пример решения и опубликуйте свой код через Disqus

Предыдущий: Напишите Java-программу для обрезки любого начального или конечного пробела из заданной строки.
Далее: Напишите программу на Java, чтобы найти все чередования данных строк.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code