Problem · String

Validate a Palindrome After Limited Deletions

Learn this problem
MediumMeta logoMetaFULLTIMEONSITE INTERVIEW
See Meta hiring insights

Problem statement

Given a string s and a nonnegative integer k, return true if deleting at most k characters can make s a palindrome. The remaining characters keep their original order.

The empty string and every one-character string are palindromes. Character comparisons are case-sensitive.

Function

isValidPalindrome(s: String, k: int) → boolean

Examples

Example 1

s = "abca"k = 1return = true

Delete either b or c to obtain a palindrome.

Example 2

s = "abcdeca"k = 2return = true

Deleting b and e leaves acdca.

Example 3

s = "abc"k = 1return = false

Deleting one character leaves two different characters.

Constraints

  • k is nonnegative.
  • s may be empty.
  • The input is compared as a sequence of case-sensitive characters.

More Meta problems

drafts saved locally
public boolean isValidPalindrome(String s, int k) {
    // Write your code here.
}
s"abca"
k1
expectedtrue
checking account