các bác cho e hỏi là đi làm thực tế có xài tới mấy cái data structure như hash tree,graph ko nhỉ,và sẽ dùng trong các trường hợp nào?
Tại lâu nay e thấy ngôn ngữ nào cũng tích hợp các hàm xử lý cho array là chính
https://leetcode.com/problems/linked-list-cycle/
vừa giải bài này, đọc cách giải two pointer mà mặt cứ ngơ ra![]()
phỏng vấn đâu vậy bác,có nhiều câu hỏi như này ko,làm trong 30p à bácĐi phỏng vấn gặp câu này chỗ điều kiện ràng buộc thấy hơi lạ. Bác nào hiểu giải thích giúp em với ạ.
Xem tệp đính kèm 1081603
Hashmap thấy hay dùng đó bác, và cũng nên biết khi nào dùng unordered hay ordered map vì mỗi cái có độ phức tạp khác nhau, dựa theo tính chất công việc để có thể tối ưu hiệu năng.các bác cho e hỏi là đi làm thực tế có xài tới mấy cái data structure như hash tree,graph ko nhỉ,và sẽ dùng trong các trường hợp nào?
Tại lâu nay e thấy ngôn ngữ nào cũng tích hợp các hàm xử lý cho array là chính
Tức là có thể có nhiều phần tử xuất hiện nhiều nhất bằng nhau. VD input: [1,1,2,2,2,3,3,3] thì output là 2+3=5 vì 2 và 3 cùng xuất hiện nhiều nhất.Đi phỏng vấn gặp câu này chỗ điều kiện ràng buộc thấy hơi lạ. Bác nào hiểu giải thích giúp em với ạ.
Xem tệp đính kèm 1081603

Nashtech bác ơi. Có câu này hơi khó hiểu thôi. Câu còn lại tính giai thừa. Fresher thôi.phỏng vấn đâu vậy bác,có nhiều câu hỏi như này ko,làm trong 30p à bác
Em có hỏi lại thì bảo là đề ko sai, các em phải tự suy luận.Edit: Sorry, k để ý cái dk ràng buộc, đúng là hơi lạ thật. Chắc typo error.![]()

Bác pv vào fresher àNashtech bác ơi. Có câu này hơi khó hiểu thôi. Câu còn lại tính giai thừa. Fresher thôi.
Em có hỏi lại thì bảo là đề ko sai, các em phải tự suy luận.![]()
Vâng bác.Bác pv vào fresher à
no bi lap lai 2 lan thoi bac aĐi phỏng vấn gặp câu này chỗ điều kiện ràng buộc thấy hơi lạ. Bác nào hiểu giải thích giúp em với ạ.
Xem tệp đính kèm 1081603
Vậy cái dk đó có hợp lí k bác? Chứ em thấy nó thế nào ấy.no bi lap lai 2 lan thoi bac a
Đặt f(i) = tổng hàng i và cột i (lưu ý là ô đường chéo chỉ tính 1 lần). Nếu tất cả f(i) >= 0 suy ra không cần xóa thêm. Nếu tồn tại f(i) < 0 thì xóa hàng i và cột i, sau đó update lại mảng f.Em có bài này không biết có cách nào hay hơn brute force không:
Cho mảng 2D n*n (n < 200).
Các phần tử đường chéo có thể < 0, các phần tử khác dương.
Lần lượt xóa cả hàng thứ i và cột thứ i.
Tìm tổng lớn nhất có thể của phần còn lại.
Với ma trận tổng quát trên thì có vẻ chỉ có cách brute force:
https://stackoverflow.com/questions/1720737/from-an-interview-removing-rows-and-columns-in-an-n×n-matrix-to-maximize-the-su
Test sai-3 2 0
2 -3 0
0 0 1
Đặt f(i) = tổng hàng i và cột i (lưu ý là ô đường chéo chỉ tính 1 lần). Nếu tất cả f(i) >= 0 suy ra không cần xóa thêm. Nếu tồn tại f(i) < 0 thì xóa hàng i và cột i, sau đó update lại mảng f.

Vừa phát hiện ra làm sai rồi bác ơiBác ơi giải được Hard Leetcode chưa.![]()

Làm leetcode là ổn rồi bác, phỏng vấn thường thì họ đưa một bài trên hackerrank để làm nhưng cũng na ná bên leetcodeCó bác nào đang luyện algo trên hackerrank không ạ? Hackerank với Leetcode cái nào hay hơn?
Em cày hackerank mà trình đọc hiểu TA kém thấy vất vả quá.
Tạo 2 biến firstMax với secondMax, duyệt 1 vòng for là đủmọi người cho mình hỏi câu tìm phần tử lớn nhất với lớn thứ 2 trong mảng thì có cách nào tối ưu và có độ phức tạp bé nhất nhỉ
[ 2 4 5 6 6 6 7 7 8 9 8 ]