Sắp xếp giữ nguyên hai đầu mảng (VT11)
Đề bài
Cho mảng số nguyên $A$ gồm $n$ phần tử. Hãy sắp xếp mảng theo thứ tự tăng dần (không giảm), nhưng giữ nguyên vị trí của phần tử đầu tiên và phần tử cuối cùng. Nói cách khác, chỉ sắp xếp các phần tử từ vị trí thứ $2$ đến vị trí thứ $n - 1$.
Em hãy tự viết thuật toán sắp xếp, không dùng hàm sắp xếp có sẵn.
Dữ liệu vào:
- Dòng đầu tiên là số nguyên $n$.
- Dòng thứ hai gồm $n$ số nguyên $A_1, A_2, \ldots, A_n$, cách nhau bởi dấu cách.
Kết quả:
In ra mảng sau khi sắp xếp trên một dòng, các phần tử cách nhau một dấu cách.
Giới hạn:
- $3 \le n \le 2000$
- $|A_i| \le 10^9$
Giới hạn thời gian: 1 giây, bộ nhớ: 512 MB. Dữ liệu nhập từ bàn phím và in ra màn hình.
5
5 3 2 4 15 2 3 4 1Giải thích:
- Giữ nguyên $5$ ở đầu và $1$ ở cuối; đoạn giữa $3, 2, 4$ được sắp thành $2, 3, 4$.
Bấm vào nút bên dưới để nộp bài và được hệ thống CLUE OJ chấm tự động.
Nộp bài trên CLUE OJÝ tưởng
Đây vẫn là sắp xếp tăng dần, chỉ khác là đoạn cần sắp là A[1..n-2] (bỏ phần tử đầu A[0] và cuối A[n-1]). Thầy dùng sắp xếp chọn trên đoạn đó: $i$ chạy từ 1 tới $n-3$, $j$ chạy từ $i+1$ tới $n-2$.
Ví dụ $5, 3, 2, 4, 1$: đoạn giữa $3, 2, 4$ sắp thành $2, 3, 4$ → 5 2 3 4 1.
Lưu ý / bẫy thường gặp
- Sắp xếp cả mảng, hoặc lỡ đưa phần tử đầu / cuối vào đoạn sắp xếp.
- Giới hạn vòng lặp lệch một đơn vị (
j < n - 2) bỏ sót phần tửA[n-2]. - Sắp xếp giảm dần thay vì tăng dần.
Lời giải
Code chuẩn bên dưới đã chấm đúng toàn bộ 20 test trên CLUE OJ.
- Không biết học gì trước, học gì sau, học lan man nên kiến thức bị hổng.
- Bí bài không ai gỡ, ngồi cả buổi vẫn không ra rồi bỏ cuộc.
- Code chạy được nhưng không đủ điểm, không biết sai ở đâu, chậm ở đâu.
- Không có đề thi thử và người chấm, nên không biết mình đang ở mức nào.
- Dễ nản giữa chừng khi không có ai theo sát.
- Lộ trình 111 buổi video sắp sẵn từ dòng code đầu tiên đến đề HSG thật của các tỉnh.
- Thầy trực tiếp gỡ bí, chữa bài cho từng em qua nhóm Zalo riêng.
- Hệ thống chấm bài tự động 24/7 và thi thử HSG hằng tuần để biết chính xác mình đang ở đâu.
- Đóng học phí một lần, thầy kèm lâu dài: từ thi chuyên Tin đến HSG quốc gia và cả khi lên đại học.
Nhận xét
Đăng nhận xét