- 22
- 38 348
Trung Hoàng
Vietnam
เข้าร่วมเมื่อ 17 มี.ค. 2012
[Leetcode] Giải "Sliding Window" sử dụng Python | "Cửa sổ trượt" Phần 2
#coding #algorithm #leetcode #laptrinh #array #hashmap #thuattoan #slidingwindow
Leetcode problem: 1208. Get Equal Substrings Within Budget
leetcode.com/problems/get-equal-substrings-within-budget/description/?envType=problem-list-v2&envId=xsdxfb3r
TIMESTAMP
0:31- Đề Bài
3:26 - Code Cách 1
6:28 - Code Cách 2
11:06 - Kết
Độ phức tạp tối ưu:
Time Complexity (Thời Gian): O(N)
Space Complexity (Bộ Nhớ): O(N)
Code của bài giải trong video:
github.com/trung-hn/leetcode-solutions/blob/master/src/1208.get-equal-substrings-within-budget.py
----------------------------------
Tổng hợp đáp án của các câu hỏi trên Leetcode của mình:
github.com/trung-hn/leetcode-solutions
Tổng hợp mẹo Python của mình:
github.com/trung-hn/python-tips-and-tricks
Profile của mình trên leetcode:
leetcode.com/JummyEgg/
Leetcode problem: 1208. Get Equal Substrings Within Budget
leetcode.com/problems/get-equal-substrings-within-budget/description/?envType=problem-list-v2&envId=xsdxfb3r
TIMESTAMP
0:31- Đề Bài
3:26 - Code Cách 1
6:28 - Code Cách 2
11:06 - Kết
Độ phức tạp tối ưu:
Time Complexity (Thời Gian): O(N)
Space Complexity (Bộ Nhớ): O(N)
Code của bài giải trong video:
github.com/trung-hn/leetcode-solutions/blob/master/src/1208.get-equal-substrings-within-budget.py
----------------------------------
Tổng hợp đáp án của các câu hỏi trên Leetcode của mình:
github.com/trung-hn/leetcode-solutions
Tổng hợp mẹo Python của mình:
github.com/trung-hn/python-tips-and-tricks
Profile của mình trên leetcode:
leetcode.com/JummyEgg/
มุมมอง: 564
วีดีโอ
[Leetcode] Giải "Sliding Window" sử dụng Python | "Cửa sổ trượt" Phần 1
มุมมอง 4034 หลายเดือนก่อน
#coding #algorithm #leetcode #laptrinh #array #hashmap #thuattoan #slidingwindow Leetcode problem: 2962. Count Subarrays Where Max Element Appears at Least K Times leetcode.com/problems/count-subarrays-where-max-element-appears-at-least-k-times/ TIMESTAMP 0:37- Đề Bài 2:18 - Code Cách 1 & 2 4:06 - Giải thích Cách 3 6:28 - Code Cách 3 10:30 - Kết Độ phức tạp tối ưu: Time Complexity (Thời Gian): ...
[Leetcode Easy] Giải Find the Town Judge với Python
มุมมอง 1224 หลายเดือนก่อน
#coding #algorithm #leetcode #laptrinh #array #hashmap #thuattoan Leetcode problem: 997. Find the Town Judge leetcode.com/problems/find-the-town-judge TIMESTAMP 0:18 - Đề Bài 1:48 - Giải thích Cách 1 5:10 - Giải thích Cách 2 Độ phức tạp tối ưu: Time Complexity (Thời Gian): O(N) Space Complexity (Bộ Nhớ): O(N) Code của bài giải trong video: github.com/trung-hn/leetcode-solutions/blob/master/src/...
[Leetcode Easy] Giải "Find Pivot Index" sử dụng Python
มุมมอง 9032 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #array #hashmap #thuattoan #binarysearch Leetcode problem: 1283. Find the Smallest Divisor Given a Threshold leetcode.com/problems/find-the-smallest-divisor-given-a-threshold/ Leetcode problem: 875. Koko Eating Bananas leetcode.com/problems/koko-eating-bananas/ TIMESTAMP 0:23- Đề Bài 2:35 - Giải thích Cách Làm 4:49 - Phân tích độ phức 6:55 - Kết Độ phức tạ...
[Leetcode Easy] Giải "Find Pivot Index" sử dụng Python
มุมมอง 3512 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #array #hashmap #thuattoan Leetcode problem: 724. Find Pivot Index leetcode.com/problems/find-pivot-index/ Leetcode problem: 2270. Number of Ways to Split Array leetcode.com/problems/number-of-ways-to-split-array/ TIMESTAMP 0:24- Đề Bài 1:52 - Giải thích Cách Làm 4:49 - Phân tích độ phức 5:22 - Kết Độ phức tạp: Time Complexity (Thời Gian): O(N) Space Compl...
[Leetcode Easy] Giải "Degree of an Array" sử dụng Python
มุมมอง 3412 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #array #hashmap #thuattoan Leetcode problem: 697. Degree of an Array leetcode.com/problems/degree-of-an-array/ TIMESTAMP 0:29 - Đề Bài 2:05 - Giải thích Cách Làm 5:10 - Phân tích độ phức 6:38 - Kết Độ phức tạp: Time Complexity (Thời Gian): O(N) Space Complexity (Bộ Nhớ): O(N) Code của bài giải trong video: github.com/trung-hn/leetcode-solutions/blob/master...
[LeetCode] Giải Ones and Zeroes với Python | Quy Hoạch Động Cái Túi Phần 2
มุมมอง 6992 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #dequy #dynamicprogramming #quyhoachdong Leetcode problem: 474. Ones and Zeroes leetcode.com/problems/ones-and-zeroes/ TIMESTAMP 0:26 - Đề Bài 2:35 - Giải thích Cách Làm 3:40 - Code Cách 1 (Đệ Quy) 10:43 - Code Cách 2 12:35 - Kết Độ phức tạp (Cách 1): Time Complexity (Thời Gian): O(N*M*L) Space Complexity (Bộ Nhớ): O(N*M*L) Độ phức tạp tối ưu (Cách 3, 4): ...
[LeetCode] Giải Target Sum với Python | Quy Hoạch Động Cái Túi Phần 1
มุมมอง 2.7K2 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #dequy #dynamicprogramming #quyhoachdong Leetcode problem: 494. Target Sum leetcode.com/problems/target-sum/ TIMESTAMP 0:44 - Đề Bài 2:12 - Giải thích Cách Làm 4:22 - Code Cách 1 (Đệ Quy) 8:01 - Dry run 10:13 - Phân tích độ phức tạp 12:41 - Code Cách 2 19:45 - Kết Độ phức tạp tối ưu (Cách 2): Time Complexity (Thời Gian): O(N*T) Space Complexity (Bộ Nhớ): O...
[Python Beginner] Tất tần tật về List trong Python cho người mới bắt đầu.
มุมมอง 1.1K2 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh TIMESTAMP 1:01 - Indexing, Slicing 3:56 - List Methods 10:05 - Example, Leetcode 832 15:13 - Shallow Copy vs Deep Copy 20:10 - How to write your own deep_copy() 21:45 - Last Notes Code trên github: github.com/trung-hn/python-beginner/blob/main/src/PythonList.ipynb Tổng hợp đáp án của các câu hỏi trên Leetcode của mình: github.com/trung-hn/leetcode-solution...
[LeetCode] Thử sức với câu hỏi của kĩ sư Google | Dùng Python Giải Shortest Bridge
มุมมอง 1.1K2 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #dequy #dynamicprogramming #quyhoachdong Leetcode problem: 934. Shortest Bridge leetcode.com/problems/shortest-bridge/ TIMESTAMP 0:47 - Đề Bài 4:04 - Giải thích Cách Làm 8:46 - Code 15:34 - Giải thích Độ Phức Tạp 17:15 - Tóm tắt 18:01 - Câu hỏi từ Google và các dạng bài liên quan 19:24 - Kết Độ phức tạp tối ưu: Time Complexity (Thời Gian): O(N*N) Space Com...
[LeetCode] 3 Cách để thực hiện Binary Tree Traversal sử dụng Python
มุมมอง 1K3 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #dequy Leetcode problem: 144. Binary Tree Preorder Traversal leetcode.com/problems/binary-tree-preorder-traversal/ Leetcode problem: 94. Binary Tree Inorder Traversal leetcode.com/problems/binary-tree-inorder-traversal/ Leetcode problem: 145. Binary Tree Postorder Traversal leetcode.com/problems/binary-tree-postorder-traversal/ Article nơi mình lấy ví dụ m...
[LeetCode] Dùng Python Giải Sum of Root To Leaf Binary Numbers
มุมมอง 3763 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #dequy Leetcode problem: 1022. Sum of Root To Leaf Binary Numbers leetcode.com/problems/sum-of-root-to-leaf-binary-numbers/ TIMESTAMP 0:41 - Đề Bài 5:04 - Code Cách 1 7:57 - Mô phỏng Cách 1 15:15 - Code Cách 2 17:26 - Mô phỏng Cách 2 24:23 - Code Cách 3 25:14 - Tóm tắt 26:47 - Kết Độ phức tạp tối ưu (Cả 3 cách): Time Complexity (Thời Gian): O(N) Space Comp...
[LeetCode] 4 Bước để giải bài Quy hoạch động (Dynamic Programming ) | Dùng Python Giải House Robber
มุมมอง 19K3 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #dequy #dynamicprogramming #quyhoachdong Leetcode problem: 198. House Robber leetcode.com/problems/house-robber/ TIMESTAMP 1:01 - Đề Bài 3:26 - Code Cách 1 11:07 - Code Cách 2 16:54 - Mẹo Đệ quy 18:26 - Giải thích Cách 3 22:28 - Code Cách 3 27:11 - Code Cách 4 31:08 - Tóm tắt 4 Bước để giải bài Quy hoạch động 33:40 - Kết Độ phức tạp tối ưu (Cách 4): Time C...
[LeetCode] Dùng Python giải Single Element in a Sorted Array | Tìm kiếm nhị phân
มุมมอง 8033 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #dequy #timkiemsau #timkiemrong Leetcode problem: 540. Single Element in a Sorted Array leetcode.com/problems/single-element-in-a-sorted-array/ TIMESTAMP 0:48 - Đề Bài 2:05 - Code Cách 1 6:31 - Code Cách 2 10:12 - Giải thích Cách 3 14:41 - Code Cách 3 20:43 - Thông tin thêm Độ phức tạp (Cách 3): Time Complexity (Thời Gian): O(logN) Space Complexity (Bộ Nhớ...
[LeetCode] Dùng Python giải Number of Islands sử dụng đệ quy, tìm kiếm sâu, tìm kiếm rộng.
มุมมอง 1.1K3 ปีที่แล้ว
#coding #algorithm #leetcode #laptrinh #dequy #timkiemsau #timkiemrong Leetcode problem: 200. Number of Islands leetcode.com/problems/number-of-islands/ TIMESTAMP 1:20 - Đề Bài 3:20 - Giải thích Cách 1 11:02 - Code Cách 1 17:47 - Giải thích Cách 2 24:32 - Code Cách 2 28:37 - Thông tin thêm Độ phức tạp: Time Complexity (Thời Gian): O(R*C) Space Complexity (Bộ Nhớ): O(R*C) Tổng hợp đáp án của các...
[LeetCode] Dùng Python giải Container With Most Water
มุมมอง 6113 ปีที่แล้ว
[LeetCode] Dùng Python giải Container With Most Water
[LeetCode] Dùng Python giải Contiguous Array
มุมมอง 7084 ปีที่แล้ว
[LeetCode] Dùng Python giải Contiguous Array
[LeetCode] Cùng giải bài 22. Generate Parentheses
มุมมอง 6314 ปีที่แล้ว
[LeetCode] Cùng giải bài 22. Generate Parentheses
[LeetCode] Cách để kiểm tra "([]){}". Valid Parentheses
มุมมอง 6604 ปีที่แล้ว
[LeetCode] Cách để kiểm tra "([]){}". Valid Parentheses
[LeetCode] Làm sao để kiểm tra một đường thẳng ?
มุมมอง 5624 ปีที่แล้ว
[LeetCode] Làm sao để kiểm tra một đường thẳng ?
Mở đầu series giải Leetcode. Cùng nâng cao kĩ năng lập trình!
มุมมอง 8424 ปีที่แล้ว
Mở đầu series giải Leetcode. Cùng nâng cao kĩ năng lập trình!
rất hay và hữu ích ạ
Rõ ràng và dễ hiểu
Hữu ích, dễ hiểu cho các bạn thi HSG như em ạ:)) Tks
Yay:D
Cảm ơn anh, giải thích chi tiết lắm ạ
Thanks, em!
Cảm ơn anh rất nhiều ạ.
Quá tuyệt vời ạ, cảm ơn anh đã giảng chi tiết, từng bước phối hợp giọng nói rõ ràng cực hay nữa ạ
@@ttth4974 cảm ơn em ☺️
Nice
Dễ hiểu cực cho anh 1 like nhé
Rất thích cách giải thích , tiếp cận của ad vì rất dễ hiểu
hi anh Trung Hoàng, em cũng là Trung Hoàng hehee
Anh ra video liên tục anh nhé, có cả video về cách luyện thuật toán thì tốt :D
Thanks em!
anh ra ve cac kien thuc ve cac thuat toan trong python di a
Gần 2 năm rồi mình không ra video. Lần này mà mình quyết tâm sẽ ra video đều đặn hơn. Cái nữa là thiết bị ghi âm của mình đang bị trục trặc nên âm thanh không được chuẩn cho lắm. Mình sẽ thay recorder ở video tiếp theo. Mong mọi người ủng hộ!
Cảm ơn anh vì video rất hay Em thấy trong source anh có folder testcases, không biết anh dùng gì để test ạ?
cái đó hồi xưa a dùng. bây giờ a k dùng nữa em ạ.
mình tìm max trong mảng trước rồi dùng max đó thay cho 10^6 thì có tối ưu hơn ko bạn?
Có bạn. Tìm max trước thì sẽ tối ưu hơn một chút.
từ cách 1 bạn suy luận theo logic nào để ra được cách 2 vậy ạ? Mình thấy khó nhất chỗ suy luận này
quá hay bạn ơi
Anh cho em hỏi sao ra được file deécription và submission để chạy như trên leedcode vậy ạ
video algo hay nhất mình từng xem :D
anh giảng rất hay❤ rất mong a ra video về leetcode graph hoặc là lí thuyết graph
cho e hỏi ạ. nếu mình tham gia các cuộc thi (hsg hay kiểu vnoi ấy) thì memory nó có ảnh hưởng chung đến total runtime không?
Cái đó a k rõ em. Nhưng a có đọc một số đề thi hsg thì người ta sẽ nêu cụ thể về limitation nếu có.
bạn sẽ tóm tắt dynamic program i= n dãy nhà và v[i] = tiền của từng nhà và với d[n+1] = mảng để lưu giá trị cướp d[0] = 0 có nhà nào để cướp mặc định = 0 trọm sẽ bắt đầu từ nhà đầu tiên d[1] = v[1] bắt đầu từ i =2 to n+1 if(nhà hiện tại - nhà trước đó == giá trị cướp được trước đó ) then đối với nhà liền kề thì ta sẽ lấy giá trị trước i=i-1 else so sánh max(i+v[i-1],i+v[i+1]) lấy nhà hiện tại hay nhà sau kề tối ưu hơn thì i=i-1 +v[i] lấy giá trị nhà trước + với giá trị cướp được nhà hiện tại hoặc nhà tối ưu thêm vào true hoặc false để đánh dấu nhà liền kề
Trình anh luôn đầy ra anh Trung Hoàng đẹp trai àk, respect ❤️
Mình không giỏi nên rất cần những video trình bày trực quan và giải thích dễ hiểu như kênh này , cám ơn ad nhiều.
Hay quá anh, mong anh làm bài longest line of consecutive ones, bài đó khó quá anh 😂 em kb gì luôn
okay em, để a làm lại vid với bài đó vậy
Anh Trung Hoàng em nhập theo cái bfs trên bài mà nó ra output là 5 thay vì 1 ta, hay là em nhập sai ta em check lại y chang cái anh làm á 😢 hay là em nhập sai ta anh check lại thử anh trai
@@trunghoang-jummyegg mong đại ca binh bài đó để em có thể hiểu và làm đc, cám ơn anh Trung Hoàng đẹp trai cao thủ võ lâm, trăm sự nhờ anh 😂🤣
@@suneosama939 bài số mấy vậy em? có phải là Longest Line of Consecutive One in Matrix k?
@@trunghoang-jummyegg đr anh nó á, em nhìn vô cái solution muốn khóc vl 😭
Rất tuyệt vời, ví dụ về excel của bạn rất trực quan và giúp hiểu rõ cách vấn đề rất nhanh. Cảm ơn đóng góp của bác cho cộng đồng
Anh Trung Hoàng em thấy có chỗ em ko hiểu, là cái dp em hiểu r dp[-1] r compare return max cộng tiếp, còn recursion return dfs(len(nums)-1)) nó cũng tương tự như dp[-1] đúng ko anh, em thấy chưa nắm đc khúc đó ta, đó là cách mà mình return index cuối của recursion đúng ko anh, axjba 😅😆, còn cái i là cái dfs(len(nums)-1) nó đại diện cho cái dfs(i) đúng ko anh, tại sao lại là dfs(len(nums)-1) ta là cái return index cuối cùng như dp[-1] hả anh, thứ 2 là em cái approach 2 em bỏ cái return mem[i] thì nó ko work ta(line 52) á anh, em tưởng mình lưu nó vô trong cái dòng ở trên (line51) là đc r chứ ta, mong anh giải thích 2 cái thắc mắc của em, thank anh trai ❤
cái return mem[i], nếu em bỏ nó thì sẽ là return None về hàm mẹ. E cần phải xác định e muốn return gì cho đúng thì mình code như vậy. Trong trường hợp này thì mình muốn return giá trị mà mình đã lưu trong bộ nhớ trước đó. Còn phần dfs(len(nums)-1)) là dùng để kích hoạt vòng recusion đầu tiên (hàm mẹ trên cùng). Về logic thì dp[-1] là dfs(len(nums)-1)) khi mình nhìn vấn đề từ đúng hướng (top-down, hoặc bottom up). Để hiểu rõ hơn thì e thử một số example khác nhau và làm bằng tay xem (viết ra giấy)
@@trunghoang-jummyegg Anh Trung Hoàng có rảnh anh làm thêm về leetcode longest line of consecutive ones với denote the maximum bomb với number of islands, em thấy mấy cái đó cover graph với dps bfs mà em ko hiểu lắm 😂 thank anh trai ❤️
@@suneosama939 a cos bài number of island nè em: th-cam.com/video/3HUVEHmM6UY/w-d-xo.html&ab_channel=TrungHo%C3%A0ng
return max(dfs(i-1), dfs(i-2) + nums[i]) anh giải thích dòng này giúp em đc ko em ko nắm đc concept ta 😢 giúp em với anh Trung Hoàng đẹp trai
Nếu mà để ghi rõ ra từng câu chữ thì là thế này: i là vị trí nhà hiện tại. Tại nhà hiện tại mình có hai lựa chọn. Một là lấy nhà hiện tại và nhà i-2. Hai là lấy nhà trước đó (i-1) và bỏ qua nhà hiện tại. Và vì đây là đệ quy. Nên e có thể hình dung là khi mình chọn option nào đi nữa thì mình cũng tiếp tục có hai lựa chọn tại vị trí. Về cơ bản thì logic đệ quy này sẽ tiếp tục mãi mãi trừ khi e có điều kiện dừng.
@@trunghoang-jummyegg à i là vị trí nhà mà cái nums[i] nó iterate, em cám ơn anh, anh Trung Hoàng đẹp trai tài năng có tâm có tầm em cám ơn anh
max dfs i-1, dfs i-2 + nums[i] là sao anh em ko hiểu, là nhà cướp nhà nào ta nhà cuối cùng dfs i-1 có một mình nó à sao ko phải là dfs i-1 + dfs i-3 anh, là 2 cái nhà cách nhau cộng lại 😢
Lý do mình k có i-3 và i-4 trong công thưac này là ví i-3 i-4 sẽ tự xuất hiện khi mình đệ quy. Ví dụ Dfs(i-1) có hai option: Dfs(i-1-1) : lấy nhà trước đó mà không lấy i-1 Dfs(i-1-2) + nums[i-1]: lấy nhà i-1 và i-3
Cách giải thích dễ tiếp cận. Cám ơn ad nhiều , mong là có nhiều bài về đệ quy hơn.
Cám ơn ad , làm sao để thiết lập chạy test ( submit lời giải ) trên vs code ?Xin nhờ chỉ giúp , xin cám ơn.
Cách 4 cho người lười: from colections import Counter 🐧🐧
Anh ơi a code bằng c++ đc ko ạ
0 1 1 0 tại sao anh lấy nó là 4 1 + 1 là 2 mà, còn 4 số 0 còn lại sao anh ko lấy
Em vẫn chưa hiểu đề bài làm ta, nếu là 0 0 0 1 1 1 1 thì output là 7 hả anh, maximum continuius subarray là sao ta em ko hiểu 😢
0 0 0 1 1 1 1 trả 6 mới đúng chứ nhỉ? Đáp án sẽ luôn là số chẵn em
@@trunghoang-jummyegg cái đề bài là gì anh, em ko hiểu cái đề bài 😫
@@suneosama939 đề bài là trả về chiều dài lớn nhất của một chuỗi con sao cho số số 1 = số số 0. Nói một cách khác, tìm cái chuỗi dài nhất sao cho 1 nửa của nó là số 1 và nửa còn lại là số 0 (không quan trọng vị trí)
Khó hiểu quá anh
Anh ơi em cho thêm đk if cl > op or op > cl: return thì nó ko work? Anh giải thích giúp vs 😢
nó bị sai là vì op > cl sẽ gặp trường hợp sau: " (( " Đây là trường hợp có 2 op, 0 cl. Mặc dù hiện tại có 0 cl, nhưng sau đó mình có thể add thêm 2 cl để có " (()) " Vì thế, e không thể để điều kiện op > cl đc. Nó sẽ loại trừ những trường hợp hiện tại invalid (nhưng sau này sẽ valid)
@@trunghoang-jummyegg à em hiểu r thank anh đẹp trai
Hay quá anh amazing
Thanks em
Anh dùng dấu == hay dấu = v anh
a dùng == nhưng vscode hiển thì một dấu = to là vì a dùng ligature. E có thể tìm hiểu thêm ligature ở đây: github.com/microsoft/cascadia-code/blob/main/images/ligatures.png
Sen kìu
Neu target - num in D, la 9 - 2 = 7, truth (D[7], i là 0), D[7] = 0 là value của nó là 0 hả anh? Key là 7 value là 0, r tiep den target - 7 là 2, keu là 2, value là 1, key 2 value 1 hả anh? Em ko hiểu concept lắm 😅 ngẫm nãy giờ vẫn ko hiểu, v là nó return cái gì và nó có liên quan gì em vẫn ko hiểu, mong anh giải thích 🥲
Concept là mình tính difference. Check xem mình đã thấy difference trc đây chưa. Nếu thấy rồi thì mình trả vị trí của con số trước đây. Vì vậy 9-2 =7 là con số mình chưa thấy trước đây. Mình k trả gì cả. Đi tiếp. Nhưng 9-7=2 là con số mình đã thấy. Vì thế mình trả vị trí của con số trước đây (0) và vị trí hiện tại (1). Em ngẫm xem có rõ hơn không?
@@trunghoang-jummyegg đúng ko anh
anh cũng không đăng hơn 1 năm rồi :<
Anh ơi vì sao dòng 31 anh dùng set chứ ko phải list vậy
Dùng set để nó k bị trùng lặp đó em
Làm thêm vid đi a ơi, vài tháng 1 vid cx đc 🥺, làm về mấy cái thuật toán khó và có tính ứng dụng cao ak
Cảm ơn em vì đã động viên. A sẽ sắp xếp thời gian để làm trong thời gian tới nha
Đăng tiếp đi anh
Hay quá, em đang tự học mà bí mấy phần kiểu đệ quy vs dp, may có anh nói kĩ 😊
Đỉnh luôn anh ơi. Xem một video mà thành fan luôn. Rất dễ hiểu 🥰🥰
Vẫn chờ vid mới của a
Vậy để cuối tuần này a bắt đầu làm lại vậy. Thanks em.
@@trunghoang-jummyegg hóng nha anh <3
Làm tiếp đi bạn
kênh của anh hay quá mà ít người xem , mong anh ra thêm nhiều clip về python