Javascript程序检查是否可以通过旋转数组来增加或减少数组
给定一个包含N个不同元素的数组arr[] ,任务是检查是否可以通过沿任意方向旋转数组来使数组增加或减少。
例子:
Input: arr[] = {4, 5, 6, 2, 3}
Output: Yes
Array can be rotated as {2, 3, 4, 5, 6}
Input: arr[] = {1, 2, 4, 3, 5}
Output: No
方法:有四种可能:
- 如果数组已经在增加,那么答案是Yes 。
- 如果数组已经在减少,那么答案是Yes 。
- 如果可以使数组增加,则如果给定数组首先增加到最大元素然后减少,则这是可能的。
- 如果可以使数组减少,则如果给定数组首先减少到最小元素然后增加,则可以做到这一点。
如果无法使数组增加或减少,则打印No 。
下面是上述方法的实现:
Javascript
输出:
Yes
时间复杂度: O(n)
辅助空间: 1
请参阅完整的文章检查是否可以通过旋转数组来增加或减少数组以获取更多详细信息!