java.lang.Object
g1201_1300.s1278_palindrome_partitioning_iii.Solution

public class Solution extends Object
1278 - Palindrome Partitioning III.<p>Hard</p> <p>You are given a string <code>s</code> containing lowercase letters and an integer <code>k</code>. You need to :</p> <ul> <li>First, change some characters of <code>s</code> to other lowercase English letters.</li> <li>Then divide <code>s</code> into <code>k</code> non-empty disjoint substrings such that each substring is a palindrome.</li> </ul> <p>Return <em>the minimal number of characters that you need to change to divide the string</em>.</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> s = &ldquo;abc&rdquo;, k = 2</p> <p><strong>Output:</strong> 1</p> <p><strong>Explanation:</strong> You can split the string into &ldquo;ab&rdquo; and &ldquo;c&rdquo;, and change 1 character in &ldquo;ab&rdquo; to make it palindrome.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> s = &ldquo;aabbc&rdquo;, k = 3</p> <p><strong>Output:</strong> 0</p> <p><strong>Explanation:</strong> You can split the string into &ldquo;aa&rdquo;, &ldquo;bb&rdquo; and &ldquo;c&rdquo;, all of them are palindrome.</p> <p><strong>Example 3:</strong></p> <p><strong>Input:</strong> s = &ldquo;leetcode&rdquo;, k = 8</p> <p><strong>Output:</strong> 0</p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= k <= s.length <= 100</code>.</li> <li><code>s</code> only contains lowercase English letters.</li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • palindromePartition

      public int palindromePartition(String s, int k)