ifstream读取文件遇到空格被截断(ifstream fin读取)

ifstream读取文件遇到空格被截断(ifstream fin读取)给定前 N 个自然数的排列作为数组 A 您的任务是通过两次交换对数组进行排序 如果可以对数组进行排序 则返回 True 否则返回 False 注意 您可以将同一对索引交换两次 如果只有一个元素 则无法执行交换 示例 1 输入 N 4 A 4 3 2 1 输出 是 解释 swap A 1 A 4 现在 A 1 3 2 4

大家好,我是讯享网,很高兴认识大家。



给定前 N 个自然数的排列作为数组 A[ ]。您的任务是通过两次交换对数组进行排序。如果可以对数组进行排序,则返回 True,否则返回 False。

 

注意:您可以将同一对索引交换两次。如果只有一个元素,则无法执行交换。

 

示例 1:

 

输入:

N = 4

A[] = {4, 3, 2, 1}

输出:是

解释:


讯享网

swap(A[1], A[4]),现在 A[] = {1, 3, 2, 4}

swap(A[2], A[3]),现在 A[] = {1, 2, 3, 4}

 

示例 2:

 

输入:

N = 4

A[] = {4, 3, 1, 2}

输出:否

解释:

无法在 2 次交换中对数组进行排序。

 

您的任务:

任务是完成函数 check(),该函数以数组 A[ ] 及其大小 N 作为输入参数,如果可以在 2 次交换中对数组进行排序,则返回布尔值 True,否则返回 False。

 

约束:

1 ≤ N ≤ 10(5)

1 ≤ A[i] ≤ N

直接循环遍历即可。每次遇到不一样的,就交换这个元素跟对应的元素。

这里面要多写个i–,这样可以一直判断,算是整个程序的中枢了,我就是没想到这个。。。

小讯
上一篇 2025-05-27 12:58
下一篇 2025-05-30 19:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/187391.html