腾讯2016春招之算法编程解析
第一道题:求有删除情况的最长回文子串
题目:
解题思路:
这个题严格意义上来说,删除了字符就谈不上回文串了,既然有删除,那估计考察的不是回文串,而是其他的,但是这个东西又有回文串的特点,细想一下——那就是不连续的回文串,想到不连续,就容易使人想到最长公共子序列,把源字符串逆序之后对比两个字符串发现:我靠,这不就是求两个序列的最长公共子序列(好像跟回文串没多大关系)。
考察:回文串,动态规划,知识迁移
1 #define M 100 2 int dpLCS[M][M]; //设置成全局变量,自动初始化为0 3 4 //动态规划法:最长回文子串,有删除,其实就是求最长公共子序列 5 int LongestCommonSequence(string str) 6 { 7 size_t n = str.size(); 8 if (n == 0 || n == 1) 9 return 1; 10 11 string s = str; 12 reverse(s.begin(), s.end()); 13 14 for (size_t i = 1; i <= n; ++ i) { 15 for (size_t j = 1; j <= n; ++ j) { 16 if (str[i-1] == s[j-1]) 17 dpLCS[i][j] = dpLCS[i-1][j-1] + 1; 18 else 19 dpLCS[i][j] = max(dpLCS[i-1][j], dpLCS[i][j-1]); 20 } 21 } 22 return dpLCS[n][n]; 23 }
第二个题:蛇形矩阵,又叫螺旋矩阵
题目:
解题思路:
解螺旋矩阵的切入点需要知道矩阵的个数,看下面一幅图:
如果是n = odd,则中间只有一个数,不算做一个矩阵,如果n = even,则中间是一个矩阵,总的矩阵个数为n/2,知道这一点,后面的工作就是分别从外向里遍历每一个矩阵即可。
1 void HelixMatrix(int n) 2 { 3 int **a = new int *[n]; 4 for (int i = 0; i < n; i ++) 5 a[i] = new int[n]; 6 7 int m = 0; 8 for (int k = 0; k < n/2; ++ k) { //n/2矩阵个数 9 for (int i = 0; i <= n-1-k; ++ i) 10 a[k][i] = m++; //第一区块 11 for (int i = k + 1; i < n-1-k; ++ i) 12 a[i][n-1-k] = m++; //第二区块 13 for (int i = n-1-k; i > k; -- i) 14 a[n-1-k][i] = m++; //第三区块 15 for (int i = n-1-k; i > k; -- i) 16 a[i][k] = m ++; //第四区块 17 if (n%2 == 1) 18 a[n/2][n/2] = m; //n=odd,填充中间一个数 19 } 20 for (int i = 0; i < n; i ++) { 21 for (int j = 0; j < n; j ++) 22 cout << a[i][j] << " "; 23 cout << endl; 24 } 25 //释放a 26 for(int i = 0; i < n; i ++) { 27 delete [] a[i]; 28 } 29 delete []a; 30 }
附:选择题部分整理
1、HTTP协议的请求类型,端口号,返回码等
2、在同一台机器上,内存访问,SATA硬盘随机访问时间分别是:(几十纳秒,几十毫秒)
3、E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)}的深度优先遍历序列
4、关于操作系统的说法正确的是:
a、同一个线程内可以运行多个消息队列
b、Windows中使用临界区,不需要切换到内核态
c、互斥量可以用于多进程间对资源的安全共享
d、信号量允许多个线程同时使用共享资源
5、页面采用click事件会存在300ms延时的原因
6、用0-9,a-z表示36进制的873085
7、冒泡排序,堆排序,归并排序,快速排序的时间复杂度
8、http的返回码101,404,502,200的含义
9、面向对象程序设计SOLID五大原则,各字母的含义
10、有关网络协议说法正确的是:
A.UDP是无连接不可靠的,TCP是连接可靠的
B.HTTP请求的类型有get, post, put, delete,head
C.HTTP默认端口号为80,HTTPS默认端口号为443,FTP默认端口号为21
D.根据HTTP规范,GET请求用于信息获取,并且应该是安全的和幂等的
11、两服务器相距1500km,一次ping请求耗时多长(4,8,16,32)
12、文件系统管理的最小磁盘空间单位(扇区,簇)
13、在移动端浏览器,页面采用click事件,会存在300ms的延迟,为什么?(要预先处理一些操作,还有判断是否是双击操作)
14、A和B玩纽扣游戏,一共16个纽扣,两人轮流来取,每人每次可以选取1个或3个或6个(不允许不取),规定谁取完最后的纽扣谁赢。如果让A先取,则A的必胜策略下第一步应该取?
腾讯2016春招之算法编程解析相关推荐
- 搜狗2016校园招聘之算法编程解析
1.第一个题:最近邻居 题目: 解题思路: 1)这个题如果用java,相对会好解一些,因为可以直接用JDK中的Point2D类,来定义坐标系空间中的一个点. 2)简单思路:暴力破解,计算任意两个点之间 ...
- 腾讯 2015秋招笔试题 编程题2:九宫格填数
腾讯 2015秋招笔试题 编程2:九宫格填数 题目 2: 有下图的题解,请用 C/C++ 代码来列出满足下图 0-100 内的所有答案. 配合加减乘除,使得九宫格横竖都等于4. 智力冲浪 数字推理 请 ...
- 腾讯2016春招安全岗笔试题解析
腾讯2016春招安全岗笔试题解析 昨天(4月2日)晚上7:00到9:00做了腾讯春招安全岗的笔试题.下面解析一下: 题目解析 1 在生成随机数前用当前时间设置随机数种子应该是安全的.如果程序用固定的数 ...
- 腾讯2019春招一面(电话面试)
腾讯2019春招一面 最近有许多事情,导致博客许久没更,所以先更个一面压压惊 这件事情的起源有些曲折,所以先做个背景介绍(推销自己一波) 本人在读大三学生一名(非985,211),前段时间不少的互联网 ...
- 决战春招!算法工程师面试问题及资料超详细合集(算法岗面经/代码实战/网课/竞赛等)...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! Awesome-AI-algorithm 目录 算法面试 1. Github 20 ...
- 旷视科技19届春招:算法研究员面经
下面是旷视科技19届春招算法研究员真实面经 旷视研究院的校招流程比较复杂,三轮面试,每轮面试之后隔几天通知结果,通过之后约下一轮面试.每轮有一到两面. 前两轮通过,offer基本就稳了,因为第三轮是研 ...
- 华为2018春招笔试题目 字节流解析与长整数相乘
基础知识杂烩: 字节也叫Byte,是计算机数据的基本存储单位, bit存储内容是0和1,bit是计算机中最小的储存单位 一个Byte是由8个bit组成,它是最小的可寻址单元 ,1个字节等于8位二进制. ...
- 京东2016春招(实习)笔试+编程题
岗位:数据挖掘.机器学习.算法.模式识别 京东这套题出的耗时可以的,难度不是特别大,编程题感觉非常难理解,光看题干就看了老半天,当时简直吓尿了,一琢磨其实很简单.我只能回忆一部分内容,25选择+2编程 ...
- 腾讯2018春招实习生和秋招面试问题
2018.04.18 首先,我先说说整个过程吧.(如果对过程不感兴趣的话可以直接拉到下面的面试题) 笔试(我觉得考的稀烂,以为没有面试机会的)结束后大概一周,下来了面试通知,下午三点半. 我从我们大学 ...
最新文章
- 外卖ERP管理系统(二)
- Visual C# 2010 实现资源管理器
- spring_security权限应用
- Linux Shell History (快速使用Linux命令)
- 学习linux之用户-文件-权限操作
- 01.query的分类-条件查询和组合查询
- 六.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---4.laserMapping.cpp--后端建图和帧位姿精估计(优化)
- Vue.js自定义指令的用法与实例
- Windows 使用 Detours 进行 HOOK
- js中字符串按照汉字拼音排序
- 宏定义是什么?为什么要进行宏定义?宏定义的格式
- 面向对象版学员管理系统 Python
- python的spider程序下载_Python Spider
- 微信网页中点击图片放大
- Qt使用 QProcess来检测 ip 设备是否在线(Ping)
- 【面试招聘】超强整理,非科班小硕的进击之路
- ORACLE学习笔记(6)(分析函数)
- Response.Redirect引起System.Threading.ThreadAbortException
- 中天视听王 未来软件园
- 数控机床的基本组成包括哪些?
热门文章
- NGINX生命周期-转
- 基于redis 内存数据库简单使用
- [导入]C#实现Des加密和解密
- linux四种集群是什么,lvs四种集群特点及使用场景
- ARM(IMX6U)BSP工程文件管理(分文件编程)
- php获取页面的可视内容高度,网页制作技巧:获取页面可视区域的高度_css
- linux 文件夹换所属用户,linux普通用户su root切换提示没有文件或目录的解决方法...
- Win11系统各个版本之间的比较,看完你就懂了!
- 数据库技术基础:数据库管理系统的功能介绍笔记
- 数据结构基础:算法的基础知识笔记