给定一个数组 A,检查它是否按非降序排序。
非递减顺序是指序列中的数字可以保持不变或增加,但不能减少。
输入格式
第一个也是唯一的参数包含一个整数数组 A。
输出格式
如果数组已排序,则返回 1,否则返回 0。
输入示例
输入1:
A = [1, 2, 2]
输入2:
A = [1, 2, 1]
输出示例
输出1:
1
输出2:
0
示例说明
解释一:
我们可以看到数组元素是非降序的。
解释2:
第二个元素大于第三个元素,因此数组不是按升序排列,因此未排序。 请帮助我这段代码,我不知道如何解决它。
我尝试使用 for 循环,以防万一使用 if else
def is_sort(a):
f = True
for i in range(len(a) - 1):
if a[i] > a[i + 1]:
f = False
break
return f
bool is_sort(vector <int> a) {
bool f = true;
for (int i = 0; i < a.size() - 1; i++) {
if (a[i] > a[i + 1]) {
f = false;
break;
}
}
return f;
}
类似这样的事情...
您没有指定程序的语言,但假设您使用 C 语言执行它,它看起来像这样 :
int is_sorted(char *array)
{
for (int i = 0, array[i + 1] != '\0', i++) {
if (array[i + 1] < array[i])
return 0;
}
return 1;
}
该程序将在您作为参数提供的数组上循环。如果下一个数字
array[i + 1]
小于实际数字 array[i]
,则返回 0。如果不满足此条件,我们将在数组末尾退出循环并返回 1(true)。