[Mảng 1 Chiều Cơ Bản]. Bài 7. Đếm cặp số 2

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 tìm độ chênh lệch nhỏ nhất giữa 2 phần tử trong mả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 vài khoảng trắng


Giới hạn

1<=N<=1000

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


Đầu ra

In ra độ chênh lệch nhỏ nhất giữa 2 phần tử bất kì trong mảng


Ví dụ :

Input 01
8
69 96 93 27 84 32 78 56
Output 01
3

Bình luận

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



  • 0
    hai88ne  đã bình luận lúc 21, Tháng 7, 2026, 17:17

    Mọi người có thể nhận xét ý tưởng này của em và góp ý ạ:

    1. Khởi tạo 2 biến t và hieu.
    2. Đọc mảng, sort mảng và gán t = a[2] - a[1].
    3. Sau đó duyệt mảng i=1, i<n và gán hieu = a[i+1] - a[i].
    4. Kiểm tra nếu hieu<t thì t = hieu.
    5. In ra t.

  • 0
    minhduc2803  đã bình luận lúc 18, Tháng 6, 2026, 14:16

    ý tưởng của bài này là đầu tiên tạo 1 biến hieu, 1 biến min. biến min thì lưu giá trị lớn nhất mà đề bài cho vd như: 1e5, 1e6. sau đó dùng vòng lặp lồng nhau để làm, ở vòng lặp thứ 2 thì cho nó bắt đầu sau i, sau đó lấy biến hieu để lưu hiệu giá trị của 2 vòng lặp, sau đó đem abs cho vào hiệu để không dính số âm rồi lấy hieu so sánh với min sau đó gán hieu vào min cuối cùng cout ra min


  • 0
    TanLoc11a1  đã bình luận lúc 28, Tháng 1, 2026, 14:01

    include <bits/stdc++.h>

    using namespace std; const int MOD=1e9+7; int a[1000005],pre[1000005]; int main(){

    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n; cin>>n;
    for (int i=0;i&lt;n;i++) cin>>a[i];
    int ans=INT_MAX;
    for (int i=0;i&lt;n;i++){
        for (int j=i+1;j&lt;n;j++){
            ans=min(ans,abs(a[i]-a[j]));
        }
    }
    cout<&lt;ans;
    }
    
    1. List item

  • 0
    kietne  đã bình luận lúc 12, Tháng 12, 2025, 11:24

    FULL AC nhé mấy bạn hơi tốn bộ nhớ tí :))

    include <bits/stdc++.h>

    using namespace std; using ll = long long;

    int main() { ios::syncwithstdio(false); cin.tie(nullptr); // viết code ở đây int n; cin >> n; int a[n]; for (auto &i : a) cin >> i; sort(a,a+n); int minx=INTMAX; for (int i = 0; i < n; i++){ for (int j = i+1; j < n; j++){ if(a[j]-a[i]<minx) minx=a[j]-a[i]; } } cout << min_x; return 0; }


  • 0
    L8_DuongThanhKhiem  đã bình luận lúc 22, Tháng 11, 2025, 4:05

    FULL AC:

    #include <bits/stdc++.h>
    using namespace std;
    const int oo = 1e9 + 7;
    short n;
    vector <int> a;
    int main(){
        cin >> n;
        a.resize(n);
        for (int i = 0;i < n;i++)cin >> a[i];
        sort (a.begin(), a.end());
        int kq = a[n - 1] - a[0];
        for (int i = 1;i < n;i++){
            if (a[i] - a[i - 1] < kq)kq = a[i] - a[i - 1];
        }
        cout << kq;
        return 0;
    }
    

  • -6
    nmt3737  đã bình luận lúc 24, Tháng 10, 2025, 12:40

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


  • 0
    naipret  đã bình luận lúc 15, Tháng 9, 2025, 14:41 chỉnh sửa
    #include <algorithm>
    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    int main() {
      ios::sync_with_stdio(false);
      cin.tie(nullptr);
    
      int num;
      cin >> num;
    
      vector<int> vec(num);
      for (int &ele : vec) {
        cin >> ele;
      }
    
      sort(vec.begin(), vec.end());
    
      int min_diff = vec[num - 1] - vec[0];
      for (int idx = 1; idx < num; idx++) {
        if ((vec[idx] - vec[idx - 1]) < min_diff) {
          min_diff = vec[idx] - vec[idx - 1];
        }
      }
    
      cout << min_diff;
    }
    

  • 1
    LittleBo_29  đã bình luận lúc 2, Tháng 7, 2025, 8:53

    include <bits/stdc++.h>

    define ll long long

    define fi first

    define se second

    define pa pair<int,int>

    define vec vector<int>

    define el cout<<'\n'

    define fast iosbase::syncwith_stdio(0); cin.tie(0); cout.tie(0);

    using namespace std;

    void doc(){ fast freopen("test.inp", "r", stdin); freopen("test.out", "w", stdout); }

    int n; int a[1001];

    int main(){ //doc(); cin>>n; for(int i=1; i<=n; i++) cin>>a[i]; int gtnn = INT_MAX; for(int i=1; i<=n; i++){ int s = 0; for(int j=i+1; j<=n; j++){ s = abs(a[i] - a[j]); gtnn = min(gtnn, s); } } cout<<gtnn; return 0; }


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

    include <bits/stdc++.h>

    using namespace std; int arr[1001]; int main() { iosbase::syncwith_stdio(false); cin.tie(NULL); int n; cin >> n; int mx = 1e9 + 1; for (int i = 0; i < n; i++) { cin >> arr[i]; } sort(arr,arr+n); for (int i = 1; i < n; i++) { mx = min(mx, abs(arr[i] - arr[i - 1])); } cout << mx; return 0; }


  • -6
    an_du  đã bình luận lúc 10, Tháng 11, 2024, 16:18

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


  • -7
    duc_thinh_753  đã bình luận lúc 9, Tháng 8, 2024, 13:49

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


  • -6
    minhquan2905  đã bình luận lúc 26, Tháng 7, 2024, 8:52

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