今日头条 2018 AI Camp 视频面试
1. 本次面试是在牛客网平台进行的,没有涉及到技术细节,面试官也说仅仅是聊天。但是,不知道是网络卡顿还是平台缘故,连接非常不稳定,经常听不到声音,对方那边噪音也特别大,面试体验不是很好。
2. 面试时间三十分钟,大体上问了以下几个方面的问题:
- 自我介绍?
- 有没有阅读过源码的经历,假如给你一份源代码,你准备怎么阅读?
- 大学期间自学过什么知识,是如何自学的?
- 项目介绍以及目前取得的成果?
- 在项目中遇到过哪些问题,怎么解决的?
- 大学里坚持过哪些事情?
3. 前面这些问题都是一些开放性问题,只在最后问到了一个附加编程题。
给定一个无序数组,找出某一元素后面第一个比它大的数字。
思路:用栈来实现。
- 从第一个元素开始进栈,每次对栈顶元素和序列的下一个元素进行比较,直至找到第一个比它大的数再出栈。
- 若栈顶元素小于序列元素,此序列元素即为后面第一个比它大的数,栈顶元素出栈,继续进行比较;若栈顶元素大于等于序列元素,则继续将此序列元素压栈,再进行下一轮比较;若栈为空,则压入当前正在比较的序列元素。
- 若比较到最后一个元素同时栈为空或者最后一个元素依然小于等于栈顶元素,则比较结束。
代码如下:
/* 找出一个无序序列中在某个数后面第一个比它大的数 测试用例如下:
6 3 1 5 4 2 6
5 5 6 6 6 10 2 4 5 8 9 7 10 6 64 1
4 5 8 9 10 10 64 64 0 10 6 3 2 7 1 0 9 8 5 10
7 7 7 9 9 9 10 10 10 */ #include <iostream>
#include <vector> using namespace std; int main()
{
int n = ;
cin >> n; int data[n] = {};
int result[n-] = {};
int i = ;
for(i = ; i < n; i++)
{
cin >> data[i];
} vector<int> num; //作为栈保存数据
vector<int> index; //保存栈中数据在原始序列中的位置 i = ; // 初始化为 0,向栈压入第一个数据
while ()
{
if (int(num.size()) == )
{
// 栈为空,并且比较到最后一个数据,循环结束
if (i == n-)
{
cout << "exit2" << endl;
break;
}
// 栈为空,压入新的数据
num.push_back(data[i]);
index.push_back(i);
i++;
} // 每次拿当前数据与栈顶元素比较,
// 若当前数据小于等于栈顶数据,继续压栈
int len = int(num.size() - );
while (num[len] >= data[i])
{
// 比较到最后一个数据仍然比栈顶小,大循环结束
if (i == n - )
{
cout << "exit1" << endl;
goto END;
}
num.push_back(data[i]);
index.push_back(i);
i++;
len = int(num.size() - );
} // 若当前数据大于栈顶数据,当前数据即为栈顶数据后面
// 第一个比它大的数,然后弹出栈顶数据,进行下一轮比较
result[index[len]] = data[i];
num.pop_back();
index.pop_back();
} END:for(i = ; i < n-; i++)
{
cout << result[i] << " ";
} return ;
}
个人见解,如有错误,欢迎指正与交流!
获取更多精彩,请关注「seniusen」!
今日头条 2018 AI Camp 视频面试的更多相关文章
- 今日头条 2018 AI Camp 5 月 26 日在线笔试编程题第一道——最佳路径
题目 给定一个 n*m 的矩阵 A ,矩阵中每一个元素为一个十六进制数.寻找一条从左上角都右下角的路径,每次只能向右或者向下移动, 使得路径上所有数字之积在 16 进制下的后缀 0 最少. 输入描述: ...
- 今日头条 2018 AI Camp 6 月 2 日在线笔试编程题第一道——最大连续区间和扩展
题目 给出一个长度为 n 的数组a1.a2.....ana1.a2.....an,请找出在所有连续区间 中,区间和最大同时这个区间 0 的个数小于等于 3 个,输出这个区间和. 输入描述: 第一行一个 ...
- 今日头条 2018 AI Camp 5 月 26 日在线笔试编程题第二道——最小分割分数
题目: 给 n 个正整数 a_1,…,a_n, 将 n 个数顺序排成一列后分割成 m 段,每一段的分数被记为这段内所有数的和,该次分割的分数被记为 m 段分数的最大值.问所有分割方案中分割分数的最小值 ...
- 今日头条 2018 AI Camp 6 月 2 日在线笔试编程题第二道——两数差的和
题目 给 n 个实数 a_1, a_2 ... a_n, 要求计算这 n 个数两两之间差的绝对值下取整后的和是多少. 输入描述 第一行为一个正整数 n 和一个整数 m.接下来 n 行,第 i 行代表一 ...
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
距离上次发布(android高仿系列)今日头条 --新闻阅读器 (二) 相关的内容已经半个月了,最近利用空闲时间,把今日头条客户端完善了下.完善的功能一个一个全部实现后,就放整个源码.开发的进度就是按 ...
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (能够拖动的GridView)附源代码DEMO
距离上次公布(android高仿系列)今日头条 --新闻阅读器 (二) 相关的内容已经半个月了.近期利用空暇时间,把今日头条client完好了下.完好的功能一个一个所有实现后.就放整个源代码.开发的进 ...
- (android高仿系列)今日头条 --新闻阅读器 (三) 完结 、总结 篇
从写第一篇今日头条高仿系列开始,到现在已经过去了1个多月了,其实大体都做好了,就是迟迟没有放出来,因为我觉得,做这个东西也是有个过程的,我想把这个模仿中一步一步学习的过程,按照自己的思路写下来,在根据 ...
- 今日头条 CEO 张一鸣:面试了 2000 个年轻人,混得好的都有这 5 种特质
https://blog.csdn.net/qq_35246620/article/details/72801285 博主说:多了解了解总是好的. 正文 张一鸣算是 80 后中绝对的佼佼者.1983 ...
- 2018春招-今日头条笔试题-第四题(python)
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) #-*- coding:utf-8 -*- class Magic: ''' a:用于存储数组a b:用于存储数组b num:用于 ...
随机推荐
- svn使用过程中遇到的问题
前言:记录一下svn使用的过程中遇到的问题 最近的公司使用的svn来管理项目,因为这个项目接手过来已经有至少一年多的工龄了,所以暂且还是也用svn来处理吧,如果要是做新项目的话,真心地希望使用Git来 ...
- VUE插件整理
转自:https://blog.csdn.net/miaozhenzhong/article/details/80138174 1.VsCode官方插件地址: https://marketplace. ...
- VC中edit控件使用
SetSel(start,end)作用:定制EDIT的所选择内容.间接地可以用于定位光标位置. 使用例子:EXP1:设置光标CEdit* pEdit=(CEdit*)GetDlgItem(I ...
- hibernate笔记1
1. 数据库中的表关系 一对一.一对多(多对一).多对一 2. 如何确立表中的表关系 一对多的关系如何实现:使用外键约束,一的方称为主表,多的方称为从表. 外键:从表中有一列,该列的取值除了nul ...
- 配置Echarts大全
由于项目中需要用到Echarts,最近研究了一个星期.网上的教程也挺多的.磕磕碰碰的,难找到合适的例子.都说的马马虎虎.不废话了.开始. 这种上下排列的... 还有这种地图的.(如下) 还有就是配置的 ...
- 深入理解is_callable和method_exists
一.函数解析 is_callable() 定义: (PHP 4 >= 4.0.6, PHP 5, PHP 7) is_callable — 检测参数是否为合法的可调用结构 bool is_cal ...
- thinkphp5一些文件夹用法
一.vendor通常放一些第三方的文件,如短信.支付宝等.用法: 1.在vendor中建一个文件夹: 2.在文件夹中新建一个类:主要命名空间(没有vendor ):如下面: 3.在控制器中调用,除了通 ...
- python学习之字符串常用方法和格式化字符串
Python中的字符串同样适用标准的序列操作(索引,分片,乘法,成员判断,求长度,取最小值和最大值),但因为字符串是不可变的,因此字符串不支持分片赋值. s='http://www.baidu.com ...
- python函数(2017-8-2)
1. def 函数名(形式参数) 函数体 return "123" 函数执行了return之后就不再执行下面的代码 2. 默认形参实参的位置一一对应 如果要调整位置,指定形参名字 ...
- MyEclipse 上使用sping+hibernate+mysql
以下为入门级别代码,高手请务见笑~ 我的MyEclipse 上spring最高版是3.* 而hibernate 最高版本是4.* 在做项目时用的都是最高版,于是代码写好之后调试报了个异常,居然 ...