thảo luận Leetcode + Codeforces, Competitive programming contest. Đường tới Guardian + Candidate Master.

  • Người tạo chủ đề Người tạo chủ đề freedom.9
  • Ngày bắt đầu Ngày bắt đầu
4Q, Đm q4 trick lỏ vl phải search :ah:
 

Tệp đính kèm

  • 1760240825910.png
    1760240825910.png
    47,3 KB · Lượt xem: 14
Q4 như cứt ấy, ko biết trick thì muôn đời làm éo ra nên phải đi search. Còn search ra trick thì lại là quá đơn giản.
Câu 3 khá hay đấy :doubt: cơ số anh tài ngọng q3
 
Q3 brute force cho 5 cases thôi các fen, để dính chùm giải ko ra đâu.


Python:
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())
Tricky phết ngồi nhìn mãi mới ra :ah:
 
Q3 brute force cho 5 cases thôi các fen, để dính chùm giải ko ra đâu.


Python:
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())
Tricky phết ngồi nhìn mãi mới ra :ah:
Hai 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
 
1760581674972.png

Xanh lét 1 trang, lâu lâu choke 1Q là mất công sức mấy tuần liền ác thật =(( tội ko nghe Vozers khuyên bảo đâm đầu vô cái contest được sponsor
 

Thống kê chủ đề

Ngày tạo
freedom.9,
Người trả lời cuối
deple20k,
Trả lời
1.686
Lượt xem
107.161
Quay lại
Lên đầu trang