小红书9.6笔试题

为什么我的代码只通过78%,请大佬指点一下。题意和代码如下:
题目:给出一个长度为 n 的数组,对数组的某个区间进行排序就可以使整个数组变为有序数组,请输出这个需要排序的区间,若是原数组本身是有序的,则输出  -1,-1
例如
输入
3
1 3 2
输出
1
2

输入
4
1 2 3 4
输出
-1
-1
#include <iostream>
#include <vector>
#include<algorithm>

using namespace std;

int main() {

	int n;
	cin >> n;
	vector<int> num;
	vector<int> cop;

	for (int i = 0; i < n; i++) {
		int te;
		cin >> te;
		num.push_back(te);
		cop.push_back(te);
	}
	sort(num.begin(), num.end());

	int start = -1;
	int end = -1;

	for (int i = 0; i < n; i++) {
		if (num[i ] != cop[i]) {
			start = i;
			break;
		}
	}
	for (int i = n - 1; i >= 0 & start >= 0; i--) {
		if (num[i] != cop[i]) {
			end = i;
			break;
		}
	}
	cout << start << endl;
	cout << end << endl;

	return 0;
}


#小红书##笔试题目#
全部评论
第一题我也是78%  本地没问题
1 回复 分享
发布于 2020-09-07 15:50

相关推荐

把实习生当正职使昨天第一天就加班,晚上连口饭都没吃上,以后日子咋过,我不想干了
码农索隆:实习不怕忙,就怕干的活重复且没难度,要干就干那种有深度有难度的任务,这样才能快速的提升
实习吐槽大会
点赞 评论 收藏
分享
05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
哥_留个offer先:跟他说,你这个最好用c#,微软就用c#Java不适合这个项目
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务