字节4.13笔试第四题 楼顶数楼问题



#include <iostream>
#include <vector>
using namespace std;
 
void getRes(vector<int> &heights, vector<int> &res, int len)
{
    int j, cnt;
    for (int i = 0; i < len; ++i)
    {
        cnt = 0;
        j = i - 1;
        while (j >= 0)
        {
            if (heights[j] <= heights[i])
                ++cnt;
            else
                break;
            --j;
        }
        j = i + 1;
        while (j < len)
        {
            if (heights[j] <= heights[i])
                ++cnt;
            else
                break;
            ++j;
        }
        res.push_back(cnt);
    }
}
 
int main()
{
    int t, n, temp;
    vector<int> heights;
    vector<int> res;
 
    cin >> t;
    for (int i = 0; i < t; ++i)
    {
        cin >> n;
        heights.clear();
        res.clear();
        for (int j = 0; j < n; ++j)
        {
            cin >> temp;
            heights.push_back(temp);
        }
        getRes(heights, res, n);
 
        int k;
        for (k = 0; k < (res.size() - 1); ++k)
            cout << res[k] << " ";
        cout << res[k] << endl;
    }
 
    system("pause");
    return 0;
}
只会用暴力解,而且只过了71%的用例,求求大佬们给个思路。

#字节跳动##笔试题目#
全部评论
自测了用例,都能过
2 回复 分享
发布于 2020-09-01 11:28
单调栈可以么?用单调栈找左边和右边比他大的,我没做题的,我只是猜猜
点赞 回复 分享
发布于 2020-04-16 00:30
维护两个单调栈
点赞 回复 分享
发布于 2020-04-16 00:48
lc原题
点赞 回复 分享
发布于 2020-04-16 10:40

相关推荐

02-25 21:07
中北大学 Python
初创团队 实习生 1500房补加每天450块钱
点赞 评论 收藏
分享
02-24 16:48
已编辑
电子科技大学 Java
宇宙究极无敌耀孝子:如果你计网和算法都还没准备,建议别面。 字节用go多,spring之类问得很少,重点问计网,mysql,redis,穿插点java和操作系统的八股,然后必做算法,两道算法如果都没a出来可以说是必挂。 你取消面试就算有影响凭你的bg秋招肯定还能面,要是一面就脏面评了春招秋招肯定就白瞎了。
点赞 评论 收藏
分享
就用这个吧:支持多益再加一个空气使用费
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务