早上8点40起来,然后吃了个饭到了9.30,在学校找了个公交,到了北邮,然后进去之后问了个人,找到了教四,然后进了238,找个位子座下来等考试。

试卷发下来,第一眼发现是三个算法题目,然后楼主又要殴打小朋友了,虽然不愿意,可是没办法呀,不殴打小朋友是不行的

题目一:在一个n*n矩阵中求子矩阵的最大和

我果断秒了一个O(n^3)复杂度的算法,就是给一个I,j,我求出n行中[I,j]列和的最大子矩阵,其实退化成最大子列和。枚举I,j需要O(n^2),最大子列和需要O(n),果断O(n^3)水掉,不解释的哈。大家都懂的(代码就不丢人了)。

#include <iostream>
#include <vector>
using namespace std;
int MaxSubArray(vector<vector<int> > & m,int i, int j);int MaxSubMatrix(vector<vector<int> > &m){int row= m.size();int col= m[0].size();for(int i= 0; i< row; ++i){//m'[i][j]= sum(m[i][0]...m[i][j])for(int j= 1; j< col; ++j){m[i][j]+=m[i][j-1];}}int x= 0;for(int i= 0; i< col; ++i){for(int j= i; j< col; ++j){x= MaxSubArray(m,i, j);}}return x;
}int MaxSubArray(vector<vector<int> > & m,int i,int j){vector<int> dp(m.size());dp[0]= i?m[0][j]-m[0][i-1]:m[0][j];for(int l= 1; l< m.size(); ++l){if(!i){dp[l]= max(dp[l-1],0)+m[l][j];}else{dp[l]= max(dp[l-1],0)+m[l][j]-m[l][i-1];}}return *max_element(dp.begin(), dp.end());
}

题目二:求一个串的最长回文子串。

我果断把Manacher算法拿出来了,先在两个字符之间插入一个不出现的字符(不妨设为’#’),然后你懂的,用动态规划,设left[i]表示以第i个字符为中心的回文串向右延伸的最长长度。设已经计算过的回文串延伸到最右边的位置为mx,其计算使用的字符位置位于id,则果断不解释

楼主就从自己的leetcode帐号上找自己写过的一个代码贴上来吧,求不喷

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;class Solution {
public:string longestPalindrome(const string& s) {int len= FetchMaxPalindromicLen(s);for(int i= 0; i+ len<= s.length(); ++i){if(Ok(s,i,i+len-1)){return s.substr(i,len);}}}
public:bool Ok(const string& str, int begin, int end){while(begin< end){if(str[begin++]!= str[end--]){return 0;}}return 1;}int FetchMaxPalindromicLen(const string& s){//O(n)string str;str.push_back('#');for(int i= 0; i< s.length(); ++i){str.push_back(s[i]);str.push_back('#');}vector<int> len(str.length());int mx;int id;id= -1;mx= 0;len[0]= 1;for(int i= 1; i< len.size(); ++i){if(mx> i){len[i]= min(len[2*id-i],mx-i);}else{len[i]= 1;}while(i+len[i]< len.size()&&i-len[i]>= 0&&str[i+len[i]]==str[i-len[i]])++len[i];if(i+len[i]> mx){mx= i+len[i];id= i;}}return (*max_element(len.begin(),len.end()))-1;}
};#ifdef _DEBUG
int main(){Solution foo;cout<<foo.longestPalindrome("bb")<<endl;
}
#endif

第三题:m个球放个n个盒子,多少种方法(盒子和球都是一样的哦)

设对应的方法有S(m,n)和,果断的考虑有没有空盒子,如果有,则其实就是S(m,n-1),否则,就是S(m-n,n),于是我们有如下式子

S(m,n)=0                                   n==0 && m> 0

S(m,n)= 1                                  m==0

S(m,n)=S(m,m)                        n>m

S(m,n)=S(m-n,n)+S(m,n-1)       其它

至于代码,楼主就不丢人了,大家懂的哈

然后楼主很鄙视地把试卷写完,出来打车直接回学校,表示一群小朋友还在发扣扣呢(你懂的)。

2014-04-17多益游戏实习生招聘(游戏技术方向)题目及解析相关推荐

  1. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(一起消消毒)

    题意分析: (1)题目是模拟开心消消乐的游戏逻辑,当交换两个相邻的图片时,如果交换后的面板中有连续的三个以上的相同的图片(拍成行或列),那么这些排列成行或列的相同的图形将消失,上面的图形将下落填充中间 ...

  2. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(神奇的数)

    题意分析: (1)数论的题目,给出一个long long类型的范围[N,M],求出这个范围中满足三个条件的数的个数: ①这个数至少包含('2', '3', '5')中的任意一个数字; ② 这个数不能出 ...

  3. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(图像处理)

    题意分析: (1)给出一个N*M矩阵用来表示灰度图像,矩阵中的每一个数的范围在[0,255]之间,定义7种对矩阵的操作:1.顺时针旋转90度,2.逆时针旋转90度,3.上下翻转180度,4.左右翻转1 ...

  4. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场 C

    偶尔碰到这题,简单数位DP题,然而我已生疏了-- 这次算是重新想到的,看来对DP的理解有增进了-- dp[i][j][k],表示前i为,mod为j,是否出现2.3.5的剩下的数位可组成的数字.答案就是 ...

  5. 网易2019实习生招聘算法题(一)

    网易2019实习生招聘算法题(一) 题目 为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬. 牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作. 牛牛的小伙伴太多了,于是 ...

  6. 京东2017实习生招聘试题 静态方法

    京东2017实习生招聘试题 Java方向 public class Test {static void Print(){System.out.println("hello");}p ...

  7. 京东2017实习生招聘试题 方法调用

    京东2017实习生招聘试题 Java方向 class P{private final void Print(){System.out.println("P");} }class C ...

  8. 京东2017实习生招聘试题 构造方法

    京东2017实习生招聘试题 Java方向 Test的构造方法Test(double a)在其构造方法中调用该构造方法的合法语句是 ATest(1) B this.Test(1.0) C this(1) ...

  9. 华为2019实习生招聘软件编程题

    华为2019实习生招聘软件编程题 题目这里就不再重复,当时只ac了两题,第三题是实现一个高精度乘法,由于调试的时候,一直有个bug没搞出来,后来才发现是模拟手算的一个双重循环中 for(int i=0 ...

最新文章

  1. 第二篇:白话tornado源码之待请求阶段
  2. 概率统计概念复习:MAPMLE
  3. VB.net实现从ListView控件中异地获取文本内容源代码
  4. 30.32.33.词云图、3D绘图、矩阵可视化、绘制混淆矩阵
  5. [转] 程序员面试题精选100题(35)-找出两个链表的第一个公共结点
  6. linux基础知识必掌握知识[自己原来上学总结的难免有错误,多谢指点]
  7. 数据库设计:数据库设计的基本步骤介绍
  8. 计算机图形设计论文 真实图形生成技术的发展,绘制技术论文,关于计算机图形图像绘制技术的现状应用相关参考文献资料-免费论文范文...
  9. c语言项开发班级登入系统,c语言--班级管理系统
  10. 系统分析师资料_软考 系统分析师考试通过总结
  11. Linux智能手机安全策略研究
  12. 小程序的1024KB
  13. 计算机信息处理技术员初级难不难,考信息处理技术员之前,这些问题你要知道!...
  14. Unity 3D游戏五:打飞碟
  15. 【Xilinx FPGA】vivado工具下载安装
  16. Automatic classification of defective photovoltaic module cells in electroluminescence images-论文阅读笔记
  17. 【ELT.ZIP】OpenHarmony啃论文俱乐部——计算机视觉数据压缩应用
  18. 会话、张量、变量OP
  19. 【围观】CISP-PTE 考题示例
  20. 利用comet实现服务器推式的通信

热门文章

  1. python求10以内的素数_python如何求100以内的素数
  2. Android平板为何难用,为什么Android平板电脑一直不趋于主流?
  3. c语言switch判断字母,判断switch 语句 - C语言教程
  4. pyqt5上位机开发框架
  5. 【快速了解造成游戏过程卡的罪魁祸首】
  6. 颜色代码六位十六进制字符_8位十六进制颜色
  7. 网线的最大传输速度是多少?
  8. 存货核算当期单价(调整当期存货单价)
  9. RenPy 统计游戏时间
  10. 数据分析问题(异常值识别)中数据预处理部分流程(含2022年全国服务外包大赛实例)