cho một dãy số có n chữ số hãy tìm những số xuất hiện 2 lần trong dãy và in ra 2 số lớn nhất trong số đó nếu chỉ có 1 số xuất hiện 2 lần thì xuất ra -1;
Ví dụ:
10
8 3 2 3 8 1 6 6 1 9
Kết quả:
8 6
Ví dụ...
Trợ lý học tập AI - Câu trả lời này chỉ mang tính tham khảo
Đây là một bài toán về xử lý mảng số nguyên trong ngôn ngữ lập trình C++. Dưới đây là một đoạn code giải bài toán trên:
```cpp
#include <iostream>
#include
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector arr(n);
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
sort(arr.begin(), arr.end());
int count = 0;
int max1 = -1, max2 = -1;
for (int i = 0; i < n - 1; i++) {
if (arr[i] == arr[i + 1]) {
count++;
if (count == 1) {
max1 = arr[i];
} else if (count == 2) {
max2 = arr[i];
} else {
max1 = max2;
max2 = arr[i];
}
} else {
count = 0;
}
}
if (max2 == -1) {
cout << -1 << endl;
} else {
cout << max1 * max2 << endl;
}
return 0;
}
```
Lưu ý: Đoạn code trên sẽ chỉ in ra kết quả tương ứng với ví dụ đầu tiên. Bạn có thể thay đổi giá trị của biến `n` và nhập các phần tử của mảng để kiểm tra với các ví dụ khác.
FQA.vn Nền tảng kết nối cộng đồng hỗ trợ giải bài tập học sinh trong khối K12. Sản phẩm được phát triển bởi CÔNG TY TNHH CÔNG NGHỆ GIA ĐÌNH (FTECH CO., LTD)
Điện thoại: 1900636019
Email: info@fqa.vn
Địa chỉ: Số 21 Ngõ Giếng, Phố Đông Các, Phường Ô Chợ Dừa, Quận Đống Đa, Thành phố Hà Nội, Việt Nam.