今日头条2017计算机实习生c++第一道题
2017-03-30 21:34
417 查看
1、记不清楚了,大体意思就是给一个数组大小n,然后给n个数,组成一个离散序列,就是求极大值所在的族大区间,将这个最大区间的左侧和右侧坐标x值输出。
例如:
输入:
n
n长度的整数数组
输出:
区间的范围
样例:
10
1 3 1 2 5 4 3 1 9 10
样例输出:
2 7
代码:
#include<iostream>
#include<vector>
using namespace std;
struct MyStruct
{
int leftx;
int righty;
int length;
};
bool operator>(const MyStruct &a, const MyStruct &b)
{
return (a.length > b.length) ? true : false;
}
int main()
{
MyStruct data;
MyStruct datatemp;
int n = 0;
cin >> n;
int temp0,temp1;
bool flag0, flag1;
flag0 = flag1 = false;
cin >> temp0;
for (size_t i = 1; i < n; i++)
{
cin >> temp1;
if (temp1>temp0)
{
if (flag0 == false)
{
flag0 = true;
datatemp.leftx = i-1;
datatemp.righty = 0;
datatemp.length = 0;
}
else
{
if (flag1==true)
{
datatemp.righty = i-1;
datatemp.length = datatemp.righty - datatemp.leftx;
if (datatemp>data)
{
data = datatemp;
}
datatemp.leftx = i-1;
datatemp.righty = 0;
datatemp.length = 0;
flag0=true;
flag1 = false;
}
}
}
else
{
if (flag0==true)
{
flag1 = true;
}
}
temp0 = temp1;
}
cout << data.leftx << ' ' << data.righty;
return 0;
}
例如:
输入:
n
n长度的整数数组
输出:
区间的范围
样例:
10
1 3 1 2 5 4 3 1 9 10
样例输出:
2 7
代码:
#include<iostream>
#include<vector>
using namespace std;
struct MyStruct
{
int leftx;
int righty;
int length;
};
bool operator>(const MyStruct &a, const MyStruct &b)
{
return (a.length > b.length) ? true : false;
}
int main()
{
MyStruct data;
MyStruct datatemp;
int n = 0;
cin >> n;
int temp0,temp1;
bool flag0, flag1;
flag0 = flag1 = false;
cin >> temp0;
for (size_t i = 1; i < n; i++)
{
cin >> temp1;
if (temp1>temp0)
{
if (flag0 == false)
{
flag0 = true;
datatemp.leftx = i-1;
datatemp.righty = 0;
datatemp.length = 0;
}
else
{
if (flag1==true)
{
datatemp.righty = i-1;
datatemp.length = datatemp.righty - datatemp.leftx;
if (datatemp>data)
{
data = datatemp;
}
datatemp.leftx = i-1;
datatemp.righty = 0;
datatemp.length = 0;
flag0=true;
flag1 = false;
}
}
}
else
{
if (flag0==true)
{
flag1 = true;
}
}
temp0 = temp1;
}
cout << data.leftx << ' ' << data.righty;
return 0;
}
相关文章推荐
- 2017今日头条前端实习生笔试题
- 木棒拼图(multiset 的应用)----今日头条2017后端工程师实习生笔试题
- 今日头条2017后端工程师实习生笔试题——最大映射
- 今日头条2017后端工程师实习生笔试题
- 今日头条2017暑期实习生招聘笔试编程题之函数最宽尖峰
- 【牛客网】今日头条2017客户端工程师实习生笔试题
- 今日头条2017后端工程师实习生笔试题
- 今日头条2017客户端工程师实习生笔试题
- 今日头条2017后端工程师实习生笔试题
- 算法面试题-今日头条2017客户端工程师实习生笔试题4:或与加
- [今日头条] 2017客户端工程师实习生笔试题
- 今日头条2017客户端工程师实习生笔试题(回文解码)
- 今日头条2017实习生笔试题解
- 2017实习生今日头条前端面经
- 今日头条2017实习生面试(三轮)
- 2017今日头条测试开发
- 网易2017实习生招聘笔试题 C++开发工程师
- 2017今日头条校招前端面试题(一面)
- 2017今日头条前端工程师-找出函数最宽尖峰(70)
- 今日头条2017校招(出题数目)