> 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

###
