難度中等
給你兩個長度相同的字串,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。
示例 3:
輸入:s = "abcd", t = "acde", cost = 0輸出:1解釋:你無法作出任何改動,所以最大長度為 1。
通過滑動視窗,尋找以任一起點開始的可行字串,儲存最大長度,每次直接從最大長度判斷(注意尾進頭出)
class solution
sum-=abs(s[i] - t[i]); //頭出
}return res;
}};
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。在轉化字串時,總開銷應當小於等於該預算,這也意味著字串的轉化可能是不完全的。如果你可以將s的子字...
滑動視窗法 1208 盡可能使字串相等
1208.盡可能使字串相等 給你兩個長度相同的字串,s 和 t。將 s 中的第 i 個字元變到 t 中的第 i 個字元需要 s i t i 的開銷 開銷可能為 0 也就是兩個字元的 ascii 碼值的差的絕對值。用於變更字串的最大預算是 maxcost。在轉化字串時,總開銷應當小於等於該預算,這也意...