腾讯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的必胜策略下第一步应该取?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【EPS精品教程】EPS2016三维测图版安装教程(附EPS2016安装包下载地址)

文章目录 一、安装过程二、软件安装包下载EPS地理信息工作站是北京清华山维新技术开发有限公司历经十五年精心研发和打造,为满足“以地理信息服务为中心”的信息化测绘生产需求而推出的测绘生产活动多种业务模块集成化软件系统。主要功能有: (1)测绘与地理信息多业务模块集…

禁锢自己的因素,原来有这么多

2022年的7月&#xff0c;朋友圈都能看到喜庆的时刻&#xff0c;庆祝香港回归25周年&#xff0c;这确实是一个具有伟大里程碑的意义。同时也是建党101周年&#xff0c;满满的荣誉感&#xff0c;隔着朋友圈都能感受到喜庆。家事国事天下事&#xff0c;事事关心&#xff0c;关心但…

C语言试题152之一个偶数总能表示为两个素数之和

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:一个偶数总能表示为两个素数…

[转]Xshell连接win10 Linux子系统

配置SSH服务&#xff1a; sudo apt-get remove --purge openssh-server ## 先删ssh sudo apt-get install openssh-server ## 在安装ssh sudo rm /etc/ssh/ssh_config ## 删配置文件&#xff0c;让ssh服务自己想办法链接 sudo service ssh --full…

记一个并发规则验证实现

最近在做一个简单的风控&#xff0c;其中有一块需求是这样的&#xff0c;当主请求参数到达后&#xff0c;会根据这些参数&#xff0c;看调起几个并发规则&#xff0c;这些规则各自有自己的验证逻辑&#xff0c;每个规则执行时间长短都不确定&#xff0c;当规则 执行完后&#x…

C语言试题153之判断一个素数能被几个 9 整除

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:判断一个素数能被几个 9 整除…

[转]Zookeeper入门看这篇就够了

Zookeeper是什么 官方文档上这么解释zookeeper&#xff0c;它是一个分布式服务框架&#xff0c;是Apache Hadoop 的一个子项目&#xff0c;它主要是用来解决分布式应用中经常遇到的一些数据管理问题&#xff0c;如&#xff1a;统一命名服务、状态同步服务、集群管理、分布式应用…

微服务-springcloud(eureka实践, nacos实践)

Spring 体系图 版本关系 eureka 实践 1 父工程依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.14</version> </parent> <dependencyManage…

Windows服务二:测试新建的服务、调试Windows服务

一、测试Windows服务 为了使Windows服务程序能够正常运行&#xff0c;我们需要像创建一般应用程序那样为它创建一个程序的入口点。像其他应用程序一样&#xff0c;Windows服务也是在Program.cs的Main()函数中完成这个操作。首先我们在Main&#xff08;&#xff09;函数中创建一…

角度前方交会点坐标计算完整步骤

测量工作中&#xff0c;我们常常会遇到待测点被障碍物遮挡住观测视线而无法进行观测的情况。这时候我们就需要特殊的交会计算方法对待定点进行特别的观测。 前方交会又称为测角交会&#xff0c;是指从相邻两个已知点向待定点观测两个水平角&#xff0c;用以计算待定点的坐标。 …

Mysql 的子查询

子查询&#xff1a; 子查询&#xff1a;嵌套在其它查询中的查询语句。&#xff08;又称为内部查询&#xff09; 主查询&#xff1a;包含其它子查询的查询称为主查询。&#xff08;又称外部查询&#xff09; 非相关子查询&#xff1a; 在主查询中&#xff0c;子查询只需要执行一…

【系统设计】指标监控和告警系统

在本文中&#xff0c;我们将探讨如何设计一个可扩展的指标监控和告警系统。一个好的监控和告警系统&#xff0c;对基础设施的可观察性&#xff0c;高可用性&#xff0c;可靠性方面发挥着关键作用。下图显示了市面上一些流行的指标监控和告警服务。接下来&#xff0c;我们会设计…

C语言试题154之两个字符串连接程序

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:两个字符串连接程序 2 、温馨…

[转]Android studio 快速解决Gradle's dependency cache may be corrupt 和 Gradle配置 gradle

用了好久的AS了&#xff0c;官方版本更新&#xff0c;各种配置工具 也跟着更新。更新后导入工程时&#xff08;使用Android工程编译或者导入新的工程没有对应的gradle版本&#xff09;一些电脑出现一下问题。 Error:Failed to open zip file. Gradles dependency cache may …

mybatis源码学习

2019独角兽企业重金招聘Python工程师标准>>> 学习主线&#xff1a; 目的&#xff1a;mybatis的作用orm框架&#xff0c;用了该框架就不用自己调用jdbc了。 用法&#xff1a;。。。。。 逻辑&#xff1a;。。。。。 源代码&#xff1a;。。。。。 1、猜想mybatis对数…

自己封装一个弹框插件

弹出层提示信息&#xff0c;这是移动前端开发中最常见的需求&#xff0c;你可能会想到一些流行的弹框插件&#xff0c;比如 经典的artDialog 炫酷的Sweetalert等等.. 但是慢慢地你其实会发现通常情况下需求定制化要求较高&#xff0c;一般的弹框插件可能只满足大部分要求&#…

.NET MAUI 性能提升

点击蓝字关注我们作者&#xff1a;Jonathan Peppers翻译&#xff1a;Yijing Sun校稿&#xff1a;Amy Peng排版&#xff1a;Rani Sun精彩预告*本文干货满满&#xff0c;预计阅读时间32分钟&#xff0c;建议收藏保存。.NET多平台应用程序UI (MAUI)将android、iOS、macOS和Windows…

C语言试题155之有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出 平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件“stud“中

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:有五个学生,每个学生有 3 门…

仿照支付宝账单界面--listview分组显示 用来做!发!财树充值交易明细

QQ图片20150430155638.png (151.65 KB, 下载次数: 32) 下载链接: http://pan.baidu.com/s/1kVMY1SV 密码: i8ta