[Mảng 1 Chiều Cơ Bản]. Bài 8. Liệt kê các giá trị khác nhau

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
28Tech
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho mảng số nguyên A[] gồm N phần tử, hãy liệt kê các giá trị khác nhau trong mảng theo thứ tự xuất hiện, mỗi giá trị chỉ liệt kê 1 lần. Ở thời điểm hiện tại các bạn có thể duyệt trâu để giải bài này, sau này sẽ dùng cách tối ưu hơn.

Gợi ý :

Đối với mỗi chỉ số i trong mảng, dùng 1 vòng for con duyệt từ 0 tới i - 1 để kiểm tra xem có phần nào đứng trước i giống A[i] hay không, nếu không có thì in ra A[i]


Đầ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 vài khoảng trắng


Giới hạn

1<=N<=1000

-10^3<=A[i]<=10^3


Đầu ra

In ra các giá trị khác nhau theo thứ tự xuất hiện, mỗi giá trị chỉ liệt kê 1 lần.


Ví dụ :

Input 01
9 
1 2 3 4 1 2 3 4 5
Output 01
1 2 3 4 5
Input 02
9 
1 1 1 1 1 1 1 1 1
Output 02
1

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    NamKhanh187  đã bình luận lúc 14, Tháng 2, 2025, 6:39

    include <bits/stdc++.h>

    using namespace std; bool arr[1001] = {false}; int main() { iosbase::syncwith_stdio(false); cin.tie(NULL); int n; cin >> n; for (int i = 0; i < n; i++) { int a; cin >> a; if (!(arr[a])) { cout << a << " "; arr[a] = true; } } return 0; }


  • 0
    duyvule  đã bình luận lúc 7, Tháng 1, 2025, 12:54

    include<bits/stdc++.h>

    using namespace std;

    int main() { int n; cin >> n; int a[n]; set<int> se; for (int i = 0;i < n;i++) { cin >> a[i]; se.insert(a[i]); } for (auto it : se) { cout << it << " "; }

    } sao ko đc nhỉ


    • 0
      fan_messi10  đã bình luận lúc 19, Tháng 1, 2025, 15:37

      in theo thứ tự ban đầu, ní sài set thì đã sắp xếp rồi


  • 1
    dangsp07  đã bình luận lúc 11, Tháng 12, 2024, 8:00

    include <iostream>

    using namespace std; int main() { int n; cin >> n; int a[n + 1], freq[10005] = {0};//freq[10005]: Một mảng đánh dấu tần suất xuất hiện của các số (giả sử các số nhập vào nằm trong khoảng 0 đến 10004). Ban đầu, toàn bộ các phần tử trong mảng freq được gán giá trị 0. for (int i = 1; i <= n; i++) { cin >> a[i]; if (!freq[a[i]]) { //Nếu freq[a[i]] == 0 (nghĩa là số a[i] chưa xuất hiện trước đó): in ra a[i] luôn Đánh dấu số a[i] đã xuất hiện bằng cách gán freq[a[i]] = 1. cout << a[i] << " "; freq[a[i]] = 1; } } return 0; }


  • 0
    Dungx_2008  đã bình luận lúc 25, Tháng 11, 2024, 15:03

    include <bits/stdc++.h>

    using namespace std; int a[100000]; int main() { int n; cin >> n; for(int x,i=1;i<=n;i++) { cin >> x; if(a[x] == 0) cout << x << " "; a[x] = 1; } return 0; }


  • 0
    khangsigma  đã bình luận lúc 10, Tháng 10, 2024, 10:51

    include <iostream>

    define N 10005

    using namespace std; int a[N]; int main() { int n;cin>>n; for (int i=1; i<=n; i++)cin>>a[i]; for (int i=1;i<=n;i++) {int kt = true; for (int j=1;j<i;j++) if (a[i]==a[j]) {kt = false; break;}

    if (kt) cout<<a[i]<<" ";} return 0; }


  • 0
    _nambuidinh_  đã bình luận lúc 26, Tháng 8, 2024, 15:02

    include<bits/stdc++.h>

    using namespace std; int main(){ int n; cin >> n; int a[n]; for(int i = 0; i < n; i++){ cin >> a[i]; } set<int> se; for(int i = 0; i < n; i++){ se.insert(a[i]); } //cout << se.size() << endl; for(auto x : se){ cout << x << " "; } }

    code như này có được kh mn?


  • 0
    tuyen_pham  đã bình luận lúc 19, Tháng 8, 2024, 14:49

    include <bits/stdc++.h>

    using namespace std; int a[1000000],b[1000000]; int main() { int n; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n;i++){ if(b[a[i]]==0){ cout<<a[i]<<" "; b[a[i]]++; } } return 0; }


  • -3
    pham_van_hung_CUS305467182  đã bình luận lúc 13, Tháng 8, 2024, 9:42

    from collections import Counter n=int(input()) for i in Counter(list(map(int,input().split()))): print(i,end=' ')


  • -10
    Lamlilac1234  đã bình luận lúc 5, Tháng 8, 2024, 12:29

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -9
    theguy777_jaboi  đã bình luận lúc 31, Tháng 7, 2024, 1:50

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 0
    trieu_xuan_huy_DSA  đã bình luận lúc 4, Tháng 6, 2024, 14:03

    //package javaapp;

    import java.util.Scanner;

    public class NewClass {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] a = new int[n];
        int[] duong = new int[1005];
        int[] am = new int[1005];
    
        for(int i = 0; i < n; i++){
            a[i] = sc.nextInt();
            if(a[i] >= 0){
                duong[a[i]] = 1;
            }
            else am[a[i]] = 1;
        }
    
        for(int i = 0; i < n; i++){
            if(am[a[i]] == 1){
                System.out.print(a[i] + " ");
                am[a[i]] = 0;
            }
            else if(duong[a[i]] == 1){
                System.out.print(a[i] + " ");
                duong[a[i]] = 0;
            }
        }
    
    }
    

    }


  • -4
    Itachi  đã bình luận lúc 3, Tháng 5, 2024, 4:25

    include<bits/stdc++.h>

    using namespace std; int main(){ ios::syncwithstdio(false); cin.tie(0);cout.tie(0); int n; cin>>n; int a[n]; int f[n]; for(int i=1;i<=n;i++) { cin>>a[i]; } cout<<a[1]<<" "; for(int i=2;i<=n;i++){ bool check=true; for(int j=i-1;j>=1;j--) { if(a[i]==a[j]) {check=false; break;} } if(check==true) cout<<a[i]<<" "; } return 0; }