如題~(不愧是滑動視窗周啊)
給你兩個長度相同的字串,s和t。將s中的第i個字元變到t中的第i個字元需要|s[i] - t[i]|的開銷(開銷可能為0),也就是兩個字元的ascii 碼值的差的絕對值。
用於變更字串的最大預算是maxcost。在轉化字串時,總開銷應當小於等於該預算,這也意味著字串的轉化可能是不完全的。
如果你可以將s的子字串轉化為它在t中對應的子字串,則返回可以轉化的最大長度。
如果s中沒有子字串可以轉化成t中對應的子字串,則返回0。
示例 1:輸入:s = 「abcd」, t = 「bcdf」, cost = 3
輸出:3
解釋:s 中的 「abc」 可以變為 「bcd」。開銷為 3,所以最大長度為 3。
示例 2:輸入:s = 「abcd」, t = 「cdef」, cost = 3
輸出:1
解釋:s 中的任一字元要想變成 t 中對應的字元,其開銷都是 2。因此,最大長度為 1。
首先,他要的是連續的字元長度
其次,他給的是一定的costmax
然後,力扣這前幾天的題都是滑動視窗!
答案呼之欲出!
來,騙,來,偷襲。
上**:
niceint
equalsubstring
(char
* s,
char
* t,
int maxcost)
end =
fmax
(end, j - i +1)
;//觀察是更改後長度更長呢,還是之前更長呢
}return end;
}
1208 盡可能使字串相等
給你兩個長度相同的字串,s和t。將s中的第i個字元變到t中的第i個字元需要 s i t i 的開銷 開銷可能為 0 也就是兩個字元的 ascii 碼值的差的絕對值。用於變更字串的最大預算是maxcost。在轉化字串時,總開銷應當小於等於該預算,這也意味著字串的轉化可能是不完全的。如果你可以將s的子字...
力扣1208 盡可能使字串相等
給你兩個長度相同的字串,s 和 t。將 s 中的第 i 個字元變到 t 中的第 i 個字元需要 s i t i 的開銷 開銷可能為 0 也就是兩個字元的 ascii 碼值的差的絕對值。用於變更字串的最大預算是 maxcost。在轉化字串時,總開銷應當小於等於該預算,這也意味著字串的轉化可能是不完全的...
1208 盡可能使字串相等 滑動窗判斷
難度中等 給你兩個長度相同的字串,s和t。將s中的第i個字元變到t中的第i個字元需要 s i t i 的開銷 開銷可能為 0 也就是兩個字元的 ascii 碼值的差的絕對值。用於變更字串的最大預算是maxcost。在轉化字串時,總開銷應當小於等於該預算,這也意味著字串的轉化可能是不完全的。如果你可以...