Bài kiểm tra bù - K2048G2
Cặp số có tổng bằng K trong mảng (kỹ thuật sắp xếp - tìm kiếm)
Nộp bàiPoint: 3
Cho mảng a gồm n phăn tử và số nguyên dương k. Đếm số lượng cặp số ai, aj (i != j) có tổng bằng k.
Gợi ý: Sắp xếp mảng tăng dẫn sau đó với mỗi phần tử a[i] trong mảng tim xem trong đoạn [i + 1, n - 1] có bao nhiêu phần tử có giá trị là k - a[i], bằng cách tìm vị trí đầu tiên và vị trí cuối cùng của phần tử có giá trị là k - a[i] => Số lượng
Định dạng đầu vào: Dòng thứ 1 là số lượng phần tử trong mảng và số nguyên dương k; Dòng thứ 2 là n phần tử trong mảng
Ràng buộc: 2<=п<=10^6; 1<=k<=10^6; 0<=a(i)<=10^6;
Định dạng đầu ra: In ra số lượng cặp số có tổng bằng k
Input:
4 4
2 2 2 2
Output:
6
Số lớn nhất xuất hiện trong xâu (xâu ký tự - chuỗi ký tự)
Nộp bàiPoint: 4
Cho một xâu kí tự S chỉ bao gồm các chữ cái và chữ số, hãy tìm số lớn nhất xuất hiện trong xâu. Ví dụ S = "abc123bba567ajsj50kkf099" thì số lớn nhất xuất hiện trong xâu là số 567, chú ý trong trường hợp một số có các số 0 đứng trước thì ta loại bỏ các số 0 ở đầu, trong ví dụ số 099 ta tính là số 99, 000 ta tính là số 0.
Ràng buộc: 1≤len(S)≤100000;
In ra số lớn nhất xuất hiện trong xâu, dữ liệu đảm bảo có ít nhất 1 số xuất hiện trong xâu.
Input:
abc123bba567ajsj50kkf099
Output:
567
Sắp xếp theo tuần suất (sắp xếp - tìm kiếm)
Nộp bàiPoint: 3
Cho mảng A gồm n các số nguyên dương. Bạn hãy thực hiện các thao tác sau đây:
Sắp xếp các phần tử trong mảng A theo tần suất giảm dần, nếu 2 số có cùng tần suất thì số nào nhỏ hơn sẽ sắp xếp lên trước
Sắp xếp các phần tử trong mảng A theo tần suất giảm dần, nếu 2 số có cùng tần suất thì số nào xuất hiện trước sẽ in ra trước
Ràng buộc: 1 <= n <= 10^5; 0 <= A[i] <= 10^6
Input:
10
6 8 4 10 3 4 10 2 4 1
Output:
4 4 4 10 10 1 2 3 6 8
4 4 4 10 10 6 8 3 2 1