小红书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

相关推荐

霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务