Cách làm bài trên LeetCode

Mình định post vào topic Võ Đường Quán nhưng thấy không phù hợp lắm vì một bên là giải toán thi Olympic còn một bên là các câu hỏi giải thuật thường gặp khi phỏng vấn được tổng hợp trên LeetCode nên lập topic mới.

Giới thiệu về LeetCode online judge: //oj.leetcode.com/

LeetCode OJ is a platform for preparing technical coding interviews. Pick from an expanding library of more than 140 questions, code and submit your solution to see if you have solved it correctly!
LeetCode được xây dựng để rèn luyện các câu hỏi phỏng vấn có liên quan tới thuật toán. Các câu hỏi có phạm vi tương đối phong phú: cây nhị phân, linked list, dãy fibonaci, xử lý số lớn, xử lý số thực, mã gray, đồ thị, hình học, ... yêu cầu người giải bài có kiến thức căn bản về con trỏ, mảng, chuỗi, phép toán bit, .... Đặc biệt LeetCode thường yêu cầu người giải toán code tối ưu về bộ nhớ, điều rất được chú trọng khi phỏng vấn các vị trí lập trình mobile / nhúng.

Ngôn ngữ của LeetCode là tiếng anh, đề bài thường ngắn và rất rõ ràng nên ai chưa quen có thể nhanh chóng thông thuộc các đề phỏng vấn bằng tiếng anh.

Về độ khó: LeetCode không sử dụng các bài toán khó như thi ACM

các bài tập của LeetCode tương đối căn bản, chủ yếu nhằm kiểm tra kĩ năng cài đặt hoặc các bài tập có độ khó yêu cầu nghĩ ra ý tưởng trong khoảng 10 - 20 phút. Tuy nhiên chắc chắn sẽ đủ khó để những ai không tốt về giải thuật sẽ gặp rất nhiều khó khăn khi làm bài.

Về cách làm bài: code submit lên LeetCode sẽ chỉ submit Class [C++ hoặc Java], ví dụ như đây là lời giải cho bài Single Number:

  1. int singleNumber[int A[], int n] {

  2. // IMPORTANT: Please reset any member data you declared, as

  3. // the same Solution instance will be reused for each test case.


Bạn có thể tự tao file Main để test Class, được phép sử dụng tất cả các thư viện chuẩn của C++. Java thì mình ko rõ

Việc rèn luyện LeetCode theo mình là rất có lợi, đặc biệt nếu bạn chuẩn bị bước vào một kỳ phỏng vấn nào đó. Vì vậy mình lập topic này để mọi người có thể trao đổi [code, thuật toán] các bài của LeetCode.

Lưu ý là các bài có độ khó cao / sử dụng thuật toán hoặc cấu trúc dữ liệu nâng cao / đề thi ACM / ... không phù hợp với topic này.

Xin mở đầu bằng 1 bài toán quen thuộc: Determine if linked list cycle exist? //oj.leetcode.com/problems/linked-list-cycle/

Video liên quan

Chủ Đề