Bài tập luyện tập về kỹ thuật mảng đánh dấu
Tần suất lớn nhất 2
Nộp bàiPoint: 1
Cho mảng các số nguyên. Thực hiện tìm số có số lần xuất hiện nhiều nhất trong mảng, trong trường hợp có nhiều số có cùng số lần xuất hiện thì lấy số xuất hiện trước trong mảng.
Đầu vào:
- Dòng đầu tiên là số lượng phần tử trong mảng n. (1≤n≤10000).
- Dòng thứ 2 là các phần tử ai trong mảng . (0≤ai≤10^6).
Đầu ra: In ra số có số lần xuất hiện nhiều nhất và số lần xuất hiện của nó
Input:
10
1 2 9 9 9 9 3 3 3 3
Output:
9 4
Tần suất lớn nhất 1
Nộp bàiPoint: 1
Cho mảng các số nguyên. Thực hiện tìm số có số lần xuất hiện nhiều nhất trong mảng, trong trường hợp có nhiều số có cùng số lần xuất hiện thì lấy số có giá trị nhỏ hơn.
Định dạng đầu vào:
- Dòng đầu tiên là số lượng phần tử trong mảng n. (1≤n≤10000).
- Dòng thứ 2 là các phần tử ai trong mảng . (0≤ai≤10^6).
Định dạng đầu ra: In ra số có số lần xuất hiện nhiều nhất và số lần xuất hiện của nó
Input:
10
1 2 3 3 3 3 9 9 9 9
Output:
3 4
Đếm các phần tử khác nhau trong mảng (set)
Nộp bàiPoint: 1
Đếm số lượng phần tử khác nhau trong mảng số nguyên
Định dạng đầu vào: Dòng đầu tiên là số lượng Test T (1 <= T <= 100)
Mỗi test case bao gồm 2 dòng, dòng đầu tiên là số lượng phần tử trong mảng (1≤n≤1000)
Dòng thứ 2 bao gồm n phần tử trong mảng (0 ≤ ai ≤ 10^6)
Định dạng đầu ra: In ra số lượng phần tử khác nhau trong mảng.
Input:
2
5
1 2 2 2 1
4
1 2 3 4
Output:
2
4
Số bị lặp đầu tiên (mảng đánh dấu)
Nộp bàiPoint: 1
Cho mảng các số nguyên. Tìm phần tử lặp đầu tiên trong mảng.
Định dạng đầu vào: Dòng đầu tiên là số lượng phần tử trong mảng n. Dòng thứ 2 là các phần tử ai trong mảng.
Ràng buộc: 1≤n≤1000000; 0≤ai≤10^6
Định dạng đầu ra: In ra số bị lặp đầu tiên trong mảng, nếu không có số nào bị lặp in ra -1.
Input:
5
1 2 2 3 1
Output:
2
Đếm số lượng cặp số bằng nhau trong mảng (mảng đánh dấu)
Nộp bàiPoint: 1
Cho dãy số A[] gồm có N phần tử, nhiệm vụ của bạn là đếm số lượng cặp số bằng nhau trong mảng.
Định dạng đầu vào: Dòng đầu tiên là số nguyên N. Dòng tiếp theo gồm N số nguyên A[i]
Ràng buộc: 1≤ N ≤ 10^6; 1 ≤ A[i] ≤ 10^6
Định dạng đầu ra: In ra số lượng cặp số bằng nhau trong mảng, không xét đến thứ tự.
Input:
6
2 2 1 3 2 3
Output:
4
Die hard (mảng đánh dấu)
Nộp bàiPoint: 1
Bộ phim "Die Hard" mới vừa được phát hành! Có n người tại phòng vé rạp chiếu phim đứng thành một hàng lớn. Mỗi người trong số họ có một tờ tiền mệnh giá 100, 50 hoặc 25 rúp. Một vé "Die Hard" có giá 25 rúp. Nhân viên đặt phòng có thể bán vé cho mỗi người và trả tiền thừa nếu ban đầu anh ta không có tiền và bán vé theo đúng thứ tự mọi người trong hàng không?
Định dạng đầu vào: Dòng đầu tiên chứa số nguyên n là số người trong hàng. Dòng tiếp theo chứa n số nguyên, mỗi số băng 25, 50 hoặc 100 là giá trị của các tờ tiền mà mọi người có
Ràng buộc: 1≤n≤10^6
Định dạng đầu ra: In YES nếu người bán hàng có thể bán và trả tiền thừa cho mọi người trong hàng, ngược lại in NO
Input 01:
5
25 25 25 50 50
Output 01:
YES
Input 02:
2
50 100
Output 02:
NO
Liệt kê theo thứ tự kèm tần suất (mảng đánh dấu)
Nộp bàiPoint: 1
Cho màng số nguyên A[] gồm N phần tử, hãy liệt kê các giá trị xuất hiện trong mảng theo thứ tự từ nhỏ đến lớn kèm theo tần suất xuất hiện của nó.
Định dạng đầu vào: Dòng đầu tiên là số nguyên dương N; Dòng thứ 2 gồm N số nguyên viết cách nhau một khoảng trắng
Ràng buộc: 1<=N<=1000; 0<=A[i]<=10^6;
Định dạng đầu ra: In ra nhiều dòng, mỗi dòng gồm giá trị và tần suất viết cách nhau một khoảng trắng
Input:
6
6 6 4 6 0 8
Output:
0 1
4 1
6 3
8 1
Liệt kê các giá trị khác nhau theo thứ tự xuất hiện (mảng đánh dấu)
Nộp bàiPoint: 1
Có mảng số nguyên A gồm N phần tử, hãy liệt kê các phần tử khác nhau trong mảng theo thứ tự xuất hiện trong mảng A.
Ràng buộc: ~1 <= N <= 1000; -10^6 <= A[i] <= 10^6~
Input:
5
1 1 2 2 3
Output:
1 2 3
Ký tự lặp lại (xâu ký tự - chuỗi ký tự)
Nộp bàiPoint: 1
Cho xâu kí tự S, bạn hãy tìm kí tự được lặp lại đầu tiên trong xâu S. Nếu xâu S không có kí tự bị lặp lại thì in ra NONE.
In ra kí tự lặp lại đầu tiên hoặc NONE
Ràng buộc: ~1 \leq len(S) \leq 10000~
Input:
hoccongnghe
Output:
c
Ký tự xuất hiện ở cả 2 xâu 1 (xâu ký tự - chuỗi ký tự)
Nộp bàiPoint: 1
Cho 2 xâu kí tự S1 và S2, hãy in ra các kí tự xuất hiện ở cả 2 xâu theo thứ tự từ điển, chú ý mỗi kí tự chỉ liệt kê một lần. Sau đó tiếp tục liệt kê các kí tự xuất hiện ở S1 mà không xuất hiện trong S2 và ngược lại theo thứ tự từ điển.
Ràng buộc: ~1 \leq len(S1) ≤ 100000; 1 \leq len(S2) ≤ 100000~
Dòng 1 in ra các ký tự xuất hiện ở cả 2 xâu theo thứ tự từ điến tăng dẫn. Dòng 2 in ra các ký tự xuất hiện ở 1 trong 2 xâu theo thứ tự từ điển tăng dần.
Input:
hoccongnghe
laptrinh
Output:
hn
aceghilnoprt