远景能源物联网2019秋招软件题笔试题题解(8月26日)

//选择题浪费的时间太多,编程部分一直在抠边界没有做完编程题只AC了第二题,第一题记了题目查了一下答案;
//2.有一个N*N的矩阵,将其顺时针旋转90°,要求原地改变,不使用额外空间。
//测试样例:
//输入:{{1,2,3},{4,5,6},{7,8,9},3}
//返回:{{7,4,1},{8,5,2},{9,6,3}}
//思路:转圈打印,从外至内,只需要一个额外变量即可。

vector<vector<int> > transformImage(vector<vector<int> > mat, int n) {
    // write code here
    for (int i = 0; i < n / 2;i++)
    {
        for (int j = i; j<n - 1 - i; j++)
        {
            int temp = mat[i][j];
            mat[i][j] = mat[n - 1 - j][i];
            mat[n - 1 - j][i] = mat[n - 1 - i][n - 1 - j];
            mat[n - 1 - i][n - 1 - j] = mat[j][n - 1 - i];
            mat[j][n - 1 - i] = temp;
        }
    }
    return mat;
}
//1. 五子棋:(牛客原题可搜)输入有多组数据,每组数据为一张20x20的棋盘。
//其中黑子用“*”表示,白子用“+”表示,空白位置用“.”表示。 如果棋盘上存在五子连珠(无论哪种颜色的棋子),输入“Yes”,否则输出“No”。
#include<bits/stdc++.h>
using namespace std;
 
int main(int argc, char** argv)
{
    vector<vector<char>> checkBoard(20, vector<char>(20));
 
    char c;
    while ((c = getchar()) != EOF)
    {
        ungetc(c,stdin);
        for (int i = 0; i < 20; ++i)
        {
            for (int j = 0; j < 20; ++j)
            {
                c = getchar();
                checkBoard[i][j] = c;
            }
            getchar();
        }
 
        bool found = false;
        for (int i = 0; i < 20; ++i)
        {
            if (found) break;
            for (int j = 0; j < 20; ++j)
            {
                if (checkBoard[i][j] == '.') continue;
                c = checkBoard[i][j];
                checkBoard[i][j] = '.';
                int curCount = 1;
                int x = i + 1;
                while (x < 20 && checkBoard[x][j] == c)
                {
                    checkBoard[x][j] = '.';
                    ++curCount;
                    ++x;
                }
                if (curCount >= 5)
                {
                    found = true;
                    break;
                }
                curCount = 1;
                int y = j + 1;
                while (y < 20 && checkBoard[i][y] == c)
                {
                    checkBoard[i][y] = '.';
                    ++curCount;
                    ++y;
                }
                if (curCount >= 5)
                {
                    found = true;
                    break;
                }
                curCount = 1;
                x = i + 1, y = j + 1;
                while (x < 20 && y < 20 && checkBoard[x][y] == c)
                {
                    checkBoard[x][y] = '.';
                    ++curCount;
                    ++x; ++y;
                }
                if (curCount >= 5)
                {
                    found = true;
                    break;
                }
            }
        }
 
        if (found) cout << "Yes" << endl;
        else cout << "No" << endl;
    }
 
    return 0;
}

#远景能源有限公司##秋招##题解#
全部评论
//谢谢各位大佬点赞,只求一件卫衣,祝各位点赞的哥哥姐姐们都能拿到称心如意的offer
点赞 回复 分享
发布于 2018-08-26 10:20
逆转魔方
点赞 回复 分享
发布于 2018-08-27 11:12
上午笔试AC一题,选择2-3题到不会,估计凉了
点赞 回复 分享
发布于 2018-08-27 10:36
请问一下选择题难吗?投的java岗,会不会考c加加啊?
点赞 回复 分享
发布于 2018-08-27 01:07
这是你自己做的题吧
点赞 回复 分享
发布于 2018-08-26 22:36
说错了,你什么时候投的
点赞 回复 分享
发布于 2018-08-26 15:33
你什么时候笔试的啊
点赞 回复 分享
发布于 2018-08-26 15:32
啥时笔试的啊,内推吗
点赞 回复 分享
发布于 2018-08-26 13:25
请问是只有编程题吗?没选择之类的
点赞 回复 分享
发布于 2018-08-26 13:18
这么早就笔试了?
点赞 回复 分享
发布于 2018-08-26 13:17

相关推荐

09-25 00:00
已编辑
电子科技大学 Java
球球与墩墩:这不是前端常考的对象扁平化吗,面试官像是前端出来的 const flattern = (obj) => { const res = {}; const dfs = (curr, path) => { if(typeof curr === 'object' && curr !== null) { const isArray = Array.isArray(curr); for(let key in curr) { const newPath = path ? isArray ? `${path}[${key}]` : `${path}.${key}` : key; dfs(curr[key], newPath); } } else { res[path] = curr } } dfs(obj); return res; }
查看3道真题和解析
点赞 评论 收藏
分享
10-25 22:20
门头沟学院 Java
代码飞升:同学院本,个人亮点去了,打招呼里面的废话也去了,学院本就是路边一条,明天拉满然后该学还是学,小厂也行尽量先有一段实习。另外你的项目描述写的不好,具体列一下可被提问的点,然后量化一下指标或者收益吧
投了多少份简历才上岸
点赞 评论 收藏
分享
头像
昨天 16:48
已编辑
百度_高级研发工程师
事实是检验真理的唯一标准。&nbsp;无论我们怎么去说,去讲述,去证明,都抵不过一个offer来得实在,无论我们怎么去复现求职中的摸爬滚打、扒皮抽筋、狼狈不堪,都抵不过你在简历写上大厂的名字(外包不算)。&nbsp;所以在我求职期间,我什么话都不说,什么话都不讲,因为没有意义,虽然我总讲过程才是意义,但只有当你上岸的那一刻,你才有资格回想在水里的挣扎,只有等你出了山,你才知道山的全貌。&nbsp;我为什么一定要离开华为OD,难道它不稳定吗,不能赚钱吗。为了证明自己,那肯定有的。其实更多的是印证我的认知是否真的正确。&nbsp;(给不了解我的人交代一下背景,在下双非一本,gap一年,华为OD外包,摸爬滚打4个月,艰难上岸百度正编)一、...
先锋战士:说得很真诚。鄙视链自古有之,学历,家庭背景,财富,权利。从小有之,小学羡慕那些当班委的,中学羡慕那些学生会的,高中羡慕尖子班拿教学金的,大学羡慕高绩点,毕业了羡慕进大厂的。工作了,又羡慕高职级的,再后来又羡慕别人早早结婚的。我想表达的观点很简单,无论是华为od还是百度,都是经历,没有孰高孰低,为了抵达下一个风景,总会付出更多东西,但不就是人生吗?正如登山,每个阶段的山,都要想办法攀登,在博主的文字中,见到了坚持和积极寻找问题解决办法的心态
学历对求职的影响
点赞 评论 收藏
分享
评论
14
20
分享

创作者周榜

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