Submit | All submissions | Best solutions | Back to list |
EILINKED - Linked List |
Đoạn code java phía dưới là thiết kế chi tiết của lớp LinkedList, và phương thức main để kiểm tra. Các em hãy hoàn thiện lớp này với gợi ý sau:
LinkedList<T>: Là kiểu dữ liệu Generic, cho phép lưu trữ tập hợp các phần tử kiểu Number. LinkedList<T>, như tên đã thể hiện, lưu trữ dữ liệu ở dạng danh sách liên kết đơn (Tài liệu tham khảo, Chapter 3), hỗ trợ các methods như trong file thiết kế.
Input
+ Dòng đầu tiên gồm hai số n (0 <= n <= 2*10^5), m (0 <= m <= 100): số lượng phần tử ban đầu của danh sách, và số lượng câu lệnh (command)
+ Dòng tiếp theo chứa n phần tử ban đầu của danh sách
+ m dòng tiếp theo chứa các câu lệnh theo dạng: "command [parameters]". Command là tên method, parameters là tham số tương ứng với file thiết kế
Output
+ Với các command có trả ra giá trị (sum, average, getAt, size, firstIndexOf, lastIndexOf), xuất kết quả vào standard output
Example
Input: 10 6 2 4 -4 -3 -2 -3 3 1 -5 -3 getAt 0 getAt 8 firstIndexOf 1 lastIndexOf 1 sum average Output: 2 -5 7 7 -10.0 -1.0
Program
|
Gợi ý testcases:
Có 19 testcases, 50% là testcases đơn giản chỉ kiểm tra các tác vụ riêng lẻ. Các em có thể sumit từng phần để kiểm tra xem đúng được những tác vụ nào:
- Testcase 1, 18: Kiểm tra tác vụ getAt
- Testcase 2: Kiểm tra tác vụ firstIndexOf
- Testcase 3: Kiểm tra tác vụ lastIndexOf
- Testcase 4: Kiểm tra tác vụ sum, average
- Testcase 5: Kiểm tra tác vụ getAt, firstIndexOf, lastIndexOf, sum, average, size (CHECKS)
- Testcase 6: Kiểm tra tác vụ removeAt và CHECKS
- Testcase 7, 19: Kiểm tra tác vụ insertAt và CHECKS
- Testcase 8: Kiểm tra tác vụ removeFirst và CHECKS
- Testcase 9-11: Kết hợp 2/3 tác vụ trên và CHECKS
- Testcase 12-14: Kiểm tra với danh sách ít nhất 1000 phần tử
- Testcase 15-17: Kiểm tra với danh sách ít nhất 100000 phần tử! Lưu ý vấn đề thời gian thực thi
Added by: | Ha Minh Ngoc |
Date: | 2015-01-13 |
Time limit: | 1s-3s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG FSHARP GO JAVA JS-MONKEY NODEJS PHP PYTHON PYPY PYPY3 PYTHON3 RUBY SQLITE SWIFT VB.NET |