JakovichTimViec
Senior Member
nay kẹt ở Q3, bị TLE. DNA issue quas
nay kẹt ở Q3, bị TLE. DNA issue quas
class Solution:
def longestBalanced(self, s: str) -> int:
def count(target1, target2):
ans = 0
countA, countB = 0, 0
counterAB = {0: -1}
for i, val in enumerate(s):
if val == target1:
countA += 1
elif val == target2:
countB += 1
else:
countA = countB = 0
counterAB = {0: i}
key = countA - countB
if key in counterAB:
ans = max(ans, i - counterAB[key])
else:
counterAB[key] = i
return ans
def count2():
ans = 0
countA, countB, countC = 0,0,0
counter = {(0, 0): -1}
for i, val in enumerate(s):
if val == 'a':
countA += 1
elif val == 'b':
countB += 1
else:
countC += 1
if (countA - countB, countA - countC) in counter:
ans = max(ans, i - counter[(countA - countB, countA - countC)])
else:
counter[(countA - countB, countA - countC)] = i
return ans
def count3():
ans = 0
count = 1
n = len(s)
for i in range(1, n):
if s[i] == s[i - 1]:
count += 1
else:
ans = max(ans, count)
count = 1
return max(ans, count)
return max(count('a', 'b'), count('a','c'), count('b','c'), count2(), count3())

Hai câu giống nhau đều brute forceQ3 brute force cho 5 cases thôi các fen, để dính chùm giải ko ra đâu.
Tricky phết ngồi nhìn mãi mới raPython:class Solution: def longestBalanced(self, s: str) -> int: def count(target1, target2): ans = 0 countA, countB = 0, 0 counterAB = {0: -1} for i, val in enumerate(s): if val == target1: countA += 1 elif val == target2: countB += 1 else: countA = countB = 0 counterAB = {0: i} key = countA - countB if key in counterAB: ans = max(ans, i - counterAB[key]) else: counterAB[key] = i return ans def count2(): ans = 0 countA, countB, countC = 0,0,0 counter = {(0, 0): -1} for i, val in enumerate(s): if val == 'a': countA += 1 elif val == 'b': countB += 1 else: countC += 1 if (countA - countB, countA - countC) in counter: ans = max(ans, i - counter[(countA - countB, countA - countC)]) else: counter[(countA - countB, countA - countC)] = i return ans def count3(): ans = 0 count = 1 n = len(s) for i in range(1, n): if s[i] == s[i - 1]: count += 1 else: ans = max(ans, count) count = 1 return max(ans, count) return max(count('a', 'b'), count('a','c'), count('b','c'), count2(), count3())![]()
)))Q4 nhảm vãi cứt, bố thằng nào mà nghĩ ra được cái trick này trong contest. Leetcode ra đề rất đầnHai câu giống nhau đều brute force)))
Câu 4 thì khá trick. Phải làm qua dạng mới xử lý dc. Đoạn dfs thì dễ quá r

bịp rChắc do có đợt em spam toàn làm binary search))) nên dễ xử lý hơn
bác bảo dễ lắm thế e phút 25 mới vào giờ bị trừ 12điểm, trả rating lại đây ko chịu đâuLên lại bảo vệ rồi, bye vozliz kị sĩ nhébịp rbác bảo dễ lắm thế e phút 25 mới vào giờ bị trừ 12điểm, trả rating lại đây ko chịu đâu
còn bác thì lên rank 26 chắc phá 2k5 r
Xem tệp đính kèm 3281798
2k5 chắc ko lừa vozliz làm gì đâu mang tiếngnhìn thấy bác kia làm 16p thấy ham ai ngờ là bẫy lừa rating vozlit![]()

Đỉnh quá sếp, xin vía phá ATH contest này phát

Xin vía bác ơi, chứ vía em là thua ròi đó



sao mà thua hả thím? rating hơn 2k màXin vía bác ơi, chứ vía em là thua ròi đó![]()
sao mà thua hả thím? rating hơn 2k mà
lỏ bác ạ, không ăn thua, tụt rate rồiii