今日头条 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:用于 ...
随机推荐
- HDU 2859 Phalanx(对称矩阵 经典dp样例)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2859 Phalanx Time Limit: 10000/5000 MS (Java/Others) ...
- php常见的几种排序以及二分法查找
<?php 1.插入排序 思想: 每次将一个待排序的数据元素插入到前面已经排好序的数列中,使数列依然有序,知道待排序数据元素全部插入完为止. 示例: [初始关键字] [49] 38 65 97 ...
- 使用fir.im和蒲公英进行测试的一些注意事项
前言:使用fir.im和蒲公英进行测试的一些注意事项 最近公司的项目遇到了一个问题,有的用户的手机系统版本低于9.3高于9.0的存在崩溃的情况,8.x的系统的用户的有的界面的显示有问题(比如说图片严重 ...
- Python 学习笔记(三)数字
Python 数字 int 整型 是正或负整数 2 long 长整型 整数最后是一个大写或小写的L 2L float 浮点型 由整数部分和小数部分组成 2.0 complex 复数 小 ...
- POJ2823 滑动窗口
滑动最小(最大)值,模版题. 题意:给一个数列,给一个窗口大小k,顺序求每个窗口中最大值和最小值. 和挑战中的例题一模一样,就多了一个求最大,改个大于小于符号就行. 算法是利用双端队列: 以求最小值为 ...
- 洛谷P2439 [SDOI2005]阶梯教室设备利用(带权区间覆盖)
题目背景 我们现有许多演讲要在阶梯教室中举行.每一个演讲都可以用唯一的起始和终止时间来确定,如果两个演讲时间有部分或全部重复,那么它们是无法同时在阶级教室中举行的.现在我们想要尽最大可能的利用这个教室 ...
- 01javascript基础
1.JavaScript:直接写入 HTML 输出流 实例:(只能在 HTML 输出中使用 document.write.如果在文档加载后使用该方法,会覆盖整个文档) <!DOCTYPE htm ...
- 前后端不分离部署教程(基于Vue,Nginx)
有小伙伴私信问我vue项目是如何进行前后端不分离打包发布的,那我岂能坐视不管,如此宠粉的我肯定是要给发一篇教程的,话不多说,开始操作 前端假如我们要发布我们的Vue项目,假设我们前端用的是histor ...
- html 截图粘粘图片JS
web前端socket聊天室功能和在线编辑器上传编辑内容的时候经常会需要上传一些图文信息,但是很多编辑器不支持截图粘粘的功能,这里参考了网友分享的可用方法做一个记录. <html> < ...
- php 无限参数方法
在很多项目开发中经常会用到共用方法但是参数不固定,每个参数都创建一遍阅读性不好,后期维护也麻烦,PHP有获取传入参数的方法,记录参考一下.这里有两个方法 <?php 方法一: #不指定参数个数方 ...