在Python中检查数组是否已排序和旋转的程序
假设我们有一个名为nums的数组,我们必须检查该数组是否最初按非递减顺序排序,然后旋转了一些位置(可能为零)。数组中也可能存在重复项。
所以,如果输入像nums=[12,15,2,5,6,9],那么输出就会是True,因为它向右旋转了两个地方
示例(Python)
让我们看看以下实现以获得更好的理解-
def solve(nums):
j = 0
while (j < len(nums) - 1 and nums[j] <= nums[j + 1]):
j += 1
res = nums[j + 1 : len(nums)] + nums[0:j + 1]
for i in range(len(res) - 1):
if res[i] > res[i + 1]:
return False
return True
nums = [12,15,2,5,6,9]
print(solve(nums))输入
[12,15,2,5,6,9]输出结果
True
热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短