class Solution: def equalSubstring(self, s: str, t: str, maxCost: int) -> int: def dp(x): return abs(ord(s[x]) - ord(t[x])) i, j, k, n, m = 0, 0, 0, len(s), 0 while i < n and j < n: if dp(i) <= maxCost: k = 1 m = dp(i) break i, j = i+1, j+1 while True: j += 1 if j >= n: break m += dp(j) if m > maxCost: while m > maxCost and i < j: m -= dp(i) i += 1 if m <= maxCost and k < j - i + 1: k = j - i + 1 return k평범한 투포인터 + 부분합 체크.dp를 배열로 만드는게 그 때 그 때 바꾸는 dp 함수보다 실행속도는 빠르다.
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.