> For the complete documentation index, see [llms.txt](https://coding-9.gitbook.io/untitled/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://coding-9.gitbook.io/untitled/array/easy/1752.-check-if-array-is-sorted-and-rotated.md).

# 1752. Check if Array Is Sorted and Rotated

## Problem Statement

<br>

Given an array `nums`, return `true` *if the array was originally sorted in non-decreasing order, then rotated **some** number of positions (including zero)*. Otherwise, return `false`.

There may be **duplicates** in the original array.

**Note:** An array `A` rotated by `x` positions results in an array `B` of the same length such that `A[i] == B[(i+x) % A.length]`, where `%` is the modulo operation.

&#x20;

**Example 1:**

<pre><code><strong>Input: nums = [3,4,5,1,2]
</strong><strong>Output: true
</strong><strong>Explanation: [1,2,3,4,5] is the original sorted array.
</strong>You can rotate the array by x = 3 positions to begin on the the element of value 3: [3,4,5,1,2].
</code></pre>

**Example 2:**

<pre><code><strong>Input: nums = [2,1,3,4]
</strong><strong>Output: false
</strong><strong>Explanation: There is no sorted array once rotated that can make nums.
</strong></code></pre>

**Example 3:**

<pre><code><strong>Input: nums = [1,2,3]
</strong><strong>Output: true
</strong><strong>Explanation: [1,2,3] is the original sorted array.
</strong>You can rotate the array by x = 0 positions (i.e. no rotation) to make nums.
</code></pre>

&#x20;

**Constraints:**

* `1 <= nums.length <= 100`
* `1 <= nums[i] <= 100`

## Intuition

```
Intuition - 

Only one cut point 

3 4 5 1 2

Only one possible point where 5>1 not else 

and also index[0] > index[last] eg 3 >2 else not possible


        // check for the cut in the array eg
        // 3 4 5 1 2

        // 5 to 1  incr count 

        // also second check for such testcase

        // 2 1 3 4

        // Here count is incr but last should be smaller than first 
        // to filter such , below statement


```

### Links

<https://leetcode.com/problems/check-if-array-is-sorted-and-rotated/>

### Video Links

### Approach 1:

```
Iterate
```

{% code title="C++" lineNumbers="true" %}

```cpp
class Solution {
public:
    bool check(vector<int>& nums) {
        int count = 0;

        for(int i=1; i<nums.size(); i++){
            if(nums[i] < nums[i-1])
                count++;
        }
        if(nums[0] < nums[nums.size()-1])
            count++;

        return count<=1;
    }
};
```

{% endcode %}

### Approach 2:

```
```

{% code title="C++" lineNumbers="true" %}

```cpp
```

{% endcode %}

### Approach 3:

```
```

{% code title="C++" lineNumbers="true" %}

```cpp
```

{% endcode %}

### Approach 4:

```
```

{% code title="C++" lineNumbers="true" %}

```cpp
```

{% endcode %}

### Similar Problems

###


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://coding-9.gitbook.io/untitled/array/easy/1752.-check-if-array-is-sorted-and-rotated.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
