Bỏ qua điều hướng

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.

Onter AdminCập nhật 09/10/2026 Mới · Chưa có đánh giá 0 lượt copy
CodingChatGPTCodex

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

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ự. ĐẦU VÀO - Đoạn code hiện tại: {{doan_code_hien_tai}} - Cấu trúc dữ liệu gợi ý: {{cau_truc_du_lieu_goi_y}} - Ngôn ngữ mục tiêu: {{ngon_ngu_muc_tieu}} - Giới hạn bộ nhớ: {{gioi_han_bo_nho}} - Giới hạn thời gian: {{gioi_han_thoi_gian}} CÁCH LÀM VÀ OUTPUT Giữ cả X,Y và left/right order; rỗng trả []. GIỚI HẠN 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ị.
Xem đã lưu

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

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ự. Điền tất cả input bắt buộc; ví dụ bên dưới là dữ liệu synthetic. Đối chiếu output với hợp đồ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ị.

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

KHÁM PHÁ ONTER

Tìm kiếm trên Onter

Nhập từ khóa để tìm nội dung phù hợp

↑ ↓ chọn · Enter mở · Esc đóngXem tất cả kết quả →

Tài khoản Onter

Đăng nhập rồi tiếp tục việc đang làm.

Mở trang đăng nhập riêng nếu trình duyệt chưa hiển thị biểu mẫu.

Contact Me on Zalo