Trang chủ Tin Học Lớp 7 Cho một dãy gồm N số tự nhiên bất kỳ...

Cho một dãy gồm N số tự nhiên bất kỳ nằm trong đoạn từ 0 đến 10^7.Vấn đề đặt ra của bài toán là đếm số lượng các giá trị khác nhau có trong dãy số và đưa ra số

Câu hỏi :

Cho một dãy gồm N số tự nhiên bất kỳ nằm trong đoạn từ 0 đến 10^7.Vấn đề đặt ra của bài toán là đếm số lượng các giá trị khác nhau có trong dãy số và đưa ra số lần lặp của giá trị xuất hiện nhiều nhất. (CODE C++) Ví dụ, dãy gồm số: 2,3,1,3,5,2,2, thì dãy có 5 giá trị khác nhau và số lần lặp của giá trị xuất hiện nthiều nhấ trong dãy là 3. Yêu cầu: Cho một dãy a gồm N số tự nhiên. Gọi Q là số lượng các giá trị khác nhau có trong dãy và P là số lần lặp của giá trị xuất hiện nhiều nhất trong dãy a. Hãy tìm Q và P Input: Dòng 1: nhập số nguyên N Dòng 2: Nhập N số tự nhiên a1,a2,...,aN Output: Dòng 1: in ra số Q Dòng 2: in ra số P

Lời giải 1 :

`#Vs`

C++

#include <iostream>

using namespace std;

int main() {

int n;

cin >> n;

int a[n];

for (int i = 0; i < n; i++) {

cin >> a[i];

}

int count[100000000] = {0};

for (int i = 0; i < n; i++) {

count[a[i]]++;

}

int max_value = 0;

int max_count = 0;

for (int i = 0; i < 100000000; i++) {

if (count[i] > max_count) {

max_value = i;

max_count = count[i];

}

}

cout << max_count << endl;

cout << max_value << endl;

return 0;

}

Lời giải 2 :

Vì n<=1e7 nên mình sẽ dùng mảng để trực tiếp đánh dấu phần tử thay vì map nhé. 

#include <bits/stdc++.h>
using namespace std;
long long a[1000007];
int main()
{
    long long n;
    cin>>n;
    for(int i=1; i<=n; i++)
    {
        long long x;
        cin>>x;
        a[x]++;
    }
    long long dem=0;
    for(int i=1; i<=1000007; i++)
    {
        if(a[i]!=0) dem++;
    }
    cout<<dem;
}

Bạn có biết?

Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 7

Lớp 7 - Năm thứ hai ở cấp trung học cơ sở, một chuỗi quay mới lại đến và chúng ta vẫn bước tiếp trên con đường học sinh. Học tập vẫn là nhiệm vụ chính, hãy luôn kiên trì và không ngừng cố gắng!

Nguồn :

sưu tập

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK