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: http://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 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:
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? http://oj.leetcode.com/problems/linked-list-cycle/ |