Cho một mảng một số nguyên chứa n. Nhiệm vụ là kiểm tra xem mảng có đơn điệu hay không. Một mảng là đơn điệu nếu nó là đơn điệu tăng hoặc đơn điệu giảm. Một mảng A là đơn điệu tăng nếu đối với tất cả tôiA containing n integers. The task is to check whether the array is Monotonic or not. An array is monotonic if it is either monotone increasing or monotone decreasing. An array A is monotone increasing if for all i <= j, A[i] <= A[j]. Show Một mảng A là đơn điệu giảm nếu với tất cả I = a [j]. & Nbsp;A[i] >= A[j]. Loại trả về: Giá trị Boolean, True True, nếu mảng đã cho A là đơn điệu khác trả về Sai False (không có dấu ngoặc kép). & NBSP; Boolean value, “True” if the given array A is monotonic else return “False” (without quotes). Examples:
Cách tiếp cận: Sử dụng Extend () và Sort () Using extend() and sort()
Python3
Các
Các
Độ phức tạp về thời gian: O (n*logn), trong đó n là độ dài của không gian mảng.AUXILIARY: O (n), cần có thêm không gian cho danh sách x và y. O(N*logN), where N is the length of the array. Approach: Một mảng là đơn điệu khi và chỉ khi nó tăng đơn điệu, hoặc đơn điệu giảm. Kể từ pmonotonic if and only if it is monotone increasing, or monotone decreasing. Since p <= q and q <= r implies p <= r. So we only need to check adjacent elements to determine if the array is monotone increasing (or decreasing), respectively. We can check each of these properties in one pass. Để kiểm tra xem một mảng A có tăng đơn điệu hay không, chúng tôi sẽ kiểm tra A [i] = a [i+1] cho tất cả tôi lập chỉ mục từ 0 đến len (a) -2. & Nbsp;monotone increasing, we’ll check A[i] <= A[i+1] for all i indexing from 0 to len(A)-2. Similarly we can check for monotone decreasing where A[i] >= A[i+1] for all i indexing from 0 to len(A)-2.
Dưới đây là việc thực hiện phương pháp trên: & nbsp; Python3
Các Các
Độ phức tạp về thời gian: O (n*logn), trong đó n là độ dài của không gian mảng.AUXILIARY: O (n), cần có thêm không gian cho danh sách x và y. O(N), where N is the length of the array. Trong hướng dẫn này, chúng tôi sẽ học cách kiểm tra xem một mảng có đơn điệu hay không. Một mảng là cấu trúc dữ liệu container lưu trữ các phần tử, trong đó mỗi phần tử có thể được truy cập bởi một chỉ mục. Một mảng được cho là đơn điệu trong tự nhiên nếu các phần tử mảng liên tục tăng hoặc liên tục giảm. Tăng đơn điệuMột mảng a [] sẽ tăng đơn điệu nếu tất cả các yếu tố trong đó thỏa mãn tình trạng cho tất cả tôiA[i] <= A[j] [1, 2, 3, 4, 7, 10] là tăng đơn điệu. Monotonic giảmMột mảng A [] là đơn điệu giảm nếu tất cả các yếu tố trong đó thỏa mãn tình trạng: với tất cả I = A [J]A[i] >= A[j] [11, 10, 9, 6, 4, 1] là giảm đơn điệu. Chương trình sẽ lấy mảng làm đầu vào và trả về true nếu mảng là đơn điệu khác, nó sẽ trả về sai. Ví dụ,True if the array is monotonic else it should return False. For example, Nhìn vào đầu vào mẫu và đầu ra cho chương trình. Đầu vào: 7 3 2 1 07 3 2 1 0 Đầu ra: ĐúngTrue Đầu vào: 10 11 13 9 1410 11 13 9 14 Đầu ra: SaiFalse Chúng tôi sẽ làm theo cách tiếp cận kiểm tra xem mảng có tăng hoặc giảm bằng cách kiểm tra các phần tử liền kề trong mảng. Để kiểm tra tăng đơn điệu, chúng tôi sẽ kiểm tra xem A [i] = A [i+1] cho tất cả các chỉ mục I từ 0 đến N-1 trong đó n là kích thước của mảng.<= a[i+1] for all indexes i from 0 to n-1 where n is the size of the array. To check for monotonic decreasing, we will check if a[i]>= a[i+1] for all indexes i from 0 to n-1 where n is the size of the array. Một mảng chỉ có một phần tử duy nhất sẽ được coi là một đơn điệu và hàm sẽ trả về giá trị đúng trong chương trình của chúng tôi. Thuật toánNhìn vào thuật toán để hiểu hoạt động của chương trình. Bước 1- Xác định một hàm sẽ kiểm tra bản chất đơn điệu của mảngDefine a function that will check the monotone nature of the array Bước 2- Tìm và lưu trữ kích thước của mảng bằng Len ()- Find and store size of array using len() Bước 3- Nếu mảng chỉ có một phần tử trả về true If the array has only one element return True Bước 4- khác, kiểm tra xem tất cả các giá trị trong mảng có liên tục giảm hoặc liên tục tăngElse, check if all values in the array are continuously decreasing or continuously increasing Bước 5- Nếu điều kiện là đúng, hãy trả về đúng- If the condition is true, return True Bước 6- Nếu điều kiện không đúng, hãy trả lại sai- If the condition is not true, return False Bước 7- Khai báo một mảng với các giá trị- Declare an array with values Bước 8- Chuyển mảng trong hàmPass the array in the function Bước 9- In kết quả Print the result Chương trình PythonĐây là chương trình để kiểm tra xem một mảng có đơn điệu hay không. Chúng tôi đã xác định một hàm sẽ trả về true nếu mảng là đơn điệu khác, nó sẽ trả về sai.
Sự kết luậnTrong hướng dẫn này, chúng tôi đã tìm hiểu về các mảng đơn điệu là gì và làm thế nào chúng tôi có thể kiểm tra xem một mảng có phải là đơn điệu hay không sử dụng hàm. Có hai loại mảng đơn điệu- tăng đơn điệu và đơn điệu giảm. Nếu một mảng chỉ có 1 phần tử thì đó là đơn điệu. Mảng đơn điệu là gì?Một mảng được cho là đơn điệu trong tự nhiên nếu nó liên tục tăng hoặc liên tục giảm. Về mặt toán học, một mảng A liên tục tăng nếu đối với tất cả tôiif it is either continuously increasing or continuously decreasing. Mathematically, An array A is continuously increasing if for all i <= j, A[i] <= A[j].
Chức năng đơn điệu trong Python là gì?Phương pháp monotonic () được sử dụng để có được giá trị của đồng hồ đơn điệu.Đồng hồ đơn điệu là một chiếc đồng hồ không thể đi ngược.Vì điểm tham chiếu của giá trị trả về của đồng hồ đơn điệu không được xác định, chỉ có sự khác biệt giữa kết quả của các cuộc gọi liên tiếp là hợp lệ.used to get the value of a monotonic clock. A monotonic clock is a clock that can not go backward. As the reference point of the returned value of the monotonic clock is undefined, only the difference between the results of consecutive calls is valid.
Thuật toán đơn điệu là gì?Tính đơn điệu: Thuộc tính này hỏi liệu một thuật toán có được chấp nhận cục bộ không --- nghĩa là, nó luôn đánh giá thấp chi phí giữa bất kỳ hai trạng thái nào trong không gian tìm kiếm.Hãy nhớ lại rằng A* không yêu cầu g (n) = g* (n).This property asks if an algorithm is locally admissible---that is, it always underestimates the cost between any two states in the search space. Recall that A* does not require that g(n) = g*(n).
Một vấn đề đơn điệu là gì?Một hàm hoặc trình tự thực được gọi là đơn điệu nếu nó liên tục tăng hoặc giảm.Do đó, trình tự sức mạnh của 2 đang tăng đơn điệu vì mỗi thuật ngữ lớn hơn so với trước đó.Hàm là giảm đơn điệu trên khoảng và tăng đơn điệu trong khoảng thời gian.. Thus, the sequence of powers of 2 is monotonically increasing because each term is larger than the previous. The function is monotonically decreasing on the interval and monotonically increasing on the interval . |