FastPrepSame Substring

Same Substring

Salesforce logoSalesforce● MediumINTERNOA

Problem statement

Two strings, s, and t, each of length n, that contain lowercase English characters are given as well as an integer K.

The cost to change the ith character in s from s[i] to t[i] is the absolute difference of the ASCII value of characters, i.e., abs(s[i] - t[i]).

Find the maximum length of a substring of s that can be changed to the corresponding substring of t with a total cost less than or equal to K. If there is no such substring, return 0.

Function

sameSubstring(s: String, t: String, K: int) → int

Complete the function sameSubstring in the editor.

sameSubstring has the following parameters:

  1. String s: the string to alter
  2. String t: the string to match
  3. int K: the maximum sum of costs

Returns int: the maximum length of a substring that can be changed

Examples

Example 1

s = "adpgki"t = "cdmxki"K = 6return = 3
  • Change s0 from 'a' to 'c' with cost = abs('a' - 'c') = 2. String s is now "cdpgki" and K = 6 - 2 = 4.
  • Change s2 from 'p' to 'm' with cost = abs('p' - 'm') = 3. String s is "cdmgkji" and K = 4 - 3 = 1.
  • The only character left to change is 'g' to 'x', which costs more than K.

The answer is 3.

More Salesforce problems

See Salesforce hiring insights
Saved
public int sameSubstring(String s, String t, int K) {
  // write your code here
}
s"adpgki"
t"cdmxki"
K6
expected3
Checking account…