Mình cũng bon chen chế một đoạn code cho hàm kiểm tra mảng :sure:
Về mặt lý thuyết mình nghĩ nếu số lượng phần tử array lớn thì kết quả của hàm này trả về là khá nhanh với mảng là không tăng không giảm (đề bài random thì trường hợ này xảy ra thường xuyên nhất) vì nó sẽ thoát ra ngay lúc phát hiện có sự thay đổi, biến t trong hàm này mình đại diện cho xu hướng của mảng.
Không biết có sai chỗ nào không :doubt:
Về mặt lý thuyết mình nghĩ nếu số lượng phần tử array lớn thì kết quả của hàm này trả về là khá nhanh với mảng là không tăng không giảm (đề bài random thì trường hợ này xảy ra thường xuyên nhất) vì nó sẽ thoát ra ngay lúc phát hiện có sự thay đổi, biến t trong hàm này mình đại diện cho xu hướng của mảng.
Không biết có sai chỗ nào không :doubt:
Code:
void check(int a[], int n) { int i = 0; int t = -1; for(; i < n - 1 ; ++i) { if(t != -1 && (a[i] != a[i + 1]) && (t ^ (a[i] > a[i + 1]))){ printf("Mang khong tang khong giam"); return; } t = (a[i] == a[i + 1]) ? t : (a[i] > a[i + 1]); } if(a[0] < a[n - 1]) { printf("Mang tang"); return; } if(a[0] > a[n - 1]) { printf("Mang giam"); return; } printf("Mang hang"); }
Comment