📅  最后修改于: 2023-12-03 14:55:47.304000             🧑  作者: Mango
当我们需要判断一个数组是否是从 1 到 N 的数字排列时,我们需要比较数组元素与 1 到 N 的数字是否一一对应。下面介绍两种实现方法。
可以逐一遍历数组,比较每一个元素是否等于它应该对应的数字。代码如下:
def is_sorted(arr):
n = len(arr)
for i in range(n):
if arr[i] != i + 1:
return False
return True
其中,n
表示数组的长度,arr[i]
表示数组中第 i
个元素的值,i+1
表示应该对应的数字。如果数组中任意一个元素与应该对应的数字不相等,则说明该数组不是从 1 到 N 的数字排列。
也可以先对数组排序,再逐一比较元素是否等于它应该对应的数字。代码如下:
def is_sorted(arr):
n = len(arr)
arr.sort()
for i in range(n):
if arr[i] != i + 1:
return False
return True
其中,arr.sort()
表示对数组进行排序,n
表示数组的长度,arr[i]
表示数组中第 i
个元素的值,i+1
表示应该对应的数字。如果数组中任意一个元素与应该对应的数字不相等,则说明该数组不是从 1 到 N 的数字排列。
以上两种方法都可以用于判断一个数组是否是从 1 到 N 的数字排列,使用上述方法,我们可以轻松地完成该任务。