tiếp tục bài 10, ráng làm xong bài này sớm tối về còn học ngôn ngữ R nữa. @LQDuy2 @sangnguyen112233 @vô danh tiểu tốt @Kengoc2018
	
				
			class Solution:
    def numDecodings(self, s: str) -> int:
        if len(s) == 1:
            if s[0] == "0":
                return 0
            return 1
        dp = [0 for _ in range(len(s) + 1)]
        dp[0] = 1
        for i in range(len(s)):
            id = i + 1
            if s[i] != "0":
                dp[id] = dp[id - 1]
            if i > 0:
                twoDigit = int(s[i-1] + s[i])
                if 10 <= twoDigit <= 26:
                    dp[id] += dp[id-2]
        return dp[len(s)]Học đéi lo học sống với chết cái đbVL topic này vẫn sống à
Góp 1 bàiđm một bài hard đội lốt medium. Để mai giải, giờ phải học bài đã
func numTrees(n int) int {
    memo := make(map[int]int)
    return countTree(n, memo)
}
func countTree(n int, memo map[int]int) int {
    if n == 0 || n == 1 {
        return 1
    }
    count := 0
    for i := 1; i <= n; i++ {
        if _, exists := memo[i-1]; !exists {
            memo[i-1] = countTree(i-1, memo)
        }
        if _, exists := memo[n-i]; !exists {
            memo[n-i] = countTree(n-i, memo)
        }
        count += memo[i-1] * memo[n-i]
    }
    return count
}Luyện nhiều vào xem có qua chatgpt và copilot ko
mấy thằng Lồn này khác đéo gì mấy thằng bò đỏ suốt ngày kêu đi tắt đón đầu, nghiên cứu phát triển làm đầu lồn gì mua cho nhanh. đkm toàn tinh hoa ngạo nghễTao bảo chatgtb nó giải được luôn kìa
Muốn tao nói gì
Tự học đi, đem nó lên Xàm t chỉ cho.Muốn cho trẻ con học lập trình thì bắt đầu từ đâu hả mấy tml, tầm lớp 5 thì học ở đâu uy tín
Lớp 5 học cái strach cho nó hiểu biến,hàm, lệnh, hành động là gì. Coi phù hợp ko. Lên lớp 9 có đam mê thì đào sâu hơn thay vì giải toán thì viết tool trên Visual Studio để nó biết.Muốn cho trẻ con học lập trình thì bắt đầu từ đâu hả mấy tml, tầm lớp 5 thì học ở đâu uy tín
học scratch từ lớp 2 rồi mài. Sau đấy học tiếp lên thì học cái gì nhỉ, tài liệu hay trang web tự học ở đâu hả mày, có gì chia sẻ t vớiLớp 5 học cái strach cho nó hiểu biến,hàm, lệnh, hành động là gì. Coi phù hợp ko. Lên lớp 9 có đam mê thì đào sâu hơn thay vì giải toán thì viết tool trên Visual Studio để nó biết.
class Solution:
    def numTrees(self, n: int) -> int:
        dp = [0 for _ in range(n + 1)]
        dp[0], dp[1] = 1, 1
        for i in range(2, n + 1):
            for j in range(1, i + 1):
                dp[i] += dp[j-1] * dp[i - j]
        return dp[n] 
	khoai phết
Hard mà, phải khoai rồikhoai phết
Wrong Answer
làm cốc cà phê rồi nghĩ tiếp
53 / 74 testcases passed
hết cốc cà phê nghĩ ra chưa mày. H tao bắt đầu làmkhoai phết
Wrong Answer
làm cốc cà phê rồi nghĩ tiếp
53 / 74 testcases passed
class Solution:
    def maximalRectangle(self, matrix: List[List[str]]) -> int:
        if not matrix or not matrix[0]:
            return 0
        row, col = len(matrix), len(matrix[0])
        height = [0] * col
        left = [0] * col
        right = [col] * col # điểm phải xa nhất mặc định là = len of col
        max_area = 0
        for i in range(row):
            currentLeft, currentRight = 0, col
            for j in range(col):
                if matrix[i][j] == '1':
                    height[j] += 1
                else:
                    height[j] = 0
            for j in range(col):
                if matrix[i][j] == '1':
                    left[j] = max(left[j], currentLeft) # tracking điểm 0
                else:
                    left[j] = 0
                    currentLeft = j + 1 # skip current left
            for j in range(col - 1, -1, -1): # -1 including index 0
                if matrix[i][j] == '1':
                    right[j] = min(right[j], currentRight) # righ gan nhat
                else:
                    right[j] = col # reset right
                    currentRight = j # col = 5, j = 4, ko cần j - 1
            for j in range(col):
                max_area = max(max_area, (right[j] - left[j])*height[j])
        return max_area 
	gặp test case khoai quá bỏ ngang luôn (3 hình chữ nhật cắt nhau hình chữ H)hết cốc cà phê nghĩ ra chưa mày. H tao bắt đầu làm
.png)
học lại thêm 1 lần nữa, cho thấm nhuần tư tưởng của culi lập trình. chứ mấy bài giải cần ví dù hồi xưa năm 96 lớp 12 tao mới tiếp xúc với máy tính học pascal, nhưng học lập trình để làm gì, đề bài xưa tao nhớ thầy cô trong trong cho để làm quen là dùng pascal để nhập x,y,z gì để giải phương trình bậc 3... ví dụ vậy. thì con nít lớp 5 sao nó hiểu được. Tốt nhất để nó nhuần nhuyễn các định nghĩa đã. theo ý tao như vậy.học scratch từ lớp 2 rồi mài. Sau đấy học tiếp lên thì học cái gì nhỉ, tài liệu hay trang web tự học ở đâu hả mày, có gì chia sẻ t với
Mày phải nghĩ ra giải thuật tổng quát, nghĩ ra các edge case để couter chính cái thuật toán của mày. Lúc đó thấy ổn rồi mới code, chứ bay vô code liền rồi xai thì rất nản đéo muốn code lại nữagặp test case khoai quá bỏ ngang luôn (3 hình chữ nhật cắt nhau hình chữ H).png)
