Prompt miễn phí
Tối ưu vòng lặp lồng nhau bằng cấu trúc tra cứu
Biến đoạn code lặp chậm thành phiên bản dùng map, set hoặc cấu trúc tra cứu phù hợp, kèm phân tích độ phức tạp mới.
Prompt dùng để làm gì?
Biến đoạn code lặp chậm thành phiên bản dùng map, set hoặc cấu trúc tra cứu phù hợp, kèm phân tích độ phức tạp mới.
Điền thông tin của bạn
Prompt
Input mẫu
{
"doan_code_hien_tai": "a.flatMap(x=>b.filter(y=>y.id===x.id).map(y=>[x.name,y.name]))",
"cau_truc_du_lieu_goi_y": "Map ID -> array of matching records",
"ngon_ngu_muc_tieu": "JavaScript Node.js",
"gioi_han_bo_nho": "Chưa có budget thực đo; không cam kết 2x",
"gioi_han_thoi_gian": "Chưa có benchmark; không cam kết 10x"
}
Output mẫu
function joinById(a,b){const groups=new Map();for(const item of b){const group=groups.get(item.id)||[];group.push(item);groups.set(item.id,group);}return a.flatMap(left=>(groups.get(left.id)||[]).map(right=>[left.name,right.name]));}
// a=[{id:1,name:"A"},{id:2,name:"B"}]
// b=[{id:1,name:"X"},{id:1,name:"Y"}]
// result [["A","X"],["A","Y"]]
Cách sử dụng
Giải thích cấu trúc
- Task
- Thay nested-loop join bằng Map nhóm nhiều bản ghi mỗi ID, giữ đúng ngữ nghĩa one-to-many và thứ tự.
- Verification
- Giữ cả X,Y và left/right order; rỗng trả [].
- Limitations
- 2 case Node đã chạy. O(n+m+k), memory O(m+k) khi materialize output; chưa benchmark RAM/tốc độ. Không overwrite duplicate ID bằng Map một giá trị.
- Model metadata
- Các model tag hiện hữu là môi trường gợi ý, không chứng nhận đã benchmark từng model/version. Kiểm availability và capability trước dùng.
Mẹo sử dụng
- Giữ cả X,Y và left/right order; rỗng trả [].
- 2 case Node đã chạy. O(n+m+k), memory O(m+k) khi materialize output; chưa benchmark RAM/tốc độ. Không overwrite duplicate ID bằng Map một giá trị.
- Dữ liệu ví dụ là synthetic; không đưa token, PII hay dữ liệu khách hàng vào input công khai.
Nguồn và giấy phép
ONTER biên tập · original
Đánh giá prompt
Chọn số sao theo trải nghiệm của bạn. Bạn có thể sửa đánh giá sau một phút.
Prompt liên quan
Thiết kế kiến trúc tách lớp cho ứng dụng nhỏ dễ bảo trì
Đề xuất cách tách controller, service, repository, cấu trúc thư mục và luồng gọi cho một ứng dụng nhỏ.
Phân tích và giảm thiểu rủi ro từ dữ liệu đầu vào
Rà soát mã xử lý input để phát hiện chèn lệnh, path traversal và đề xuất chỉnh sửa an toàn theo bối cảnh thực tế.
Soát lỗi logic trong chuỗi if-else phức tạp
Kiểm tra khối điều kiện dài để tìm lỗi logic, làm rõ nhánh biên và đề xuất viết lại dễ hiểu hơn kèm test liên quan.
Viết hàm xử lý dữ liệu đầu vào không tin cậy
Tạo hàm an toàn để kiểm tra, làm sạch, chuẩn hóa và bắt lỗi dữ liệu từ nguồn ngoài trước khi xử lý.
