美文网首页
实习面试遇到的问题总结

实习面试遇到的问题总结

作者: MonsterXu | 来源:发表于2018-02-27 17:28 被阅读0次

Q1

    给定两个字符串,求出它们之间最长的相同子字符串的长度。


    暴力求解:

    以字符串中的每个字符作为子串的端点,判定以此为开始的子串的相同字符最长能达到的长度,挨个寻找每一个可能的最大子串,时间复杂度为   O(n3);

    动态规划法:

    暴力解法是从字符串开端开始找寻,现在换个思维考虑以字符结尾的子串来利用动态规划法。假设两个字符串分别为s和t,s[i]和t[j]分别表示其第i和第j个字符(字符顺序从0开始),再令L[i, j]表示以s[i]和s[j]为结尾的相同子串的最大长度。应该不难递推出L[i, j]和L[i+1,j+1]之间的关系,因为两者其实只差s[i+1]和t[j+1]这一对字符。若s[i+1]和t[j+1]不同,那么L[i+1, j+1]自然应该是0,因为任何以它们为结尾的子串都不可能完全相同;而如果s[i+1]和t[j+1]相同,那么就只要在以s[i]和t[j]结尾的最长相同子串之后分别添上这两个字符即可,这样就可以让长度增加一位。合并上述两种情况,也就得到L[i+1,j+1]=(s[i]==t[j]?L[i,j]+1:0)这样的关系。最后就是注意临界值的问题,当i和j等于0时,优先处理好再进行动态规划。时间复杂度为O(n2)。


Q2

    64位机上,一个结构体有三个成员,分别是char,int,short类型,三个成员位于结构体中不同位置时整个结构体的大小可能是哪些值?


    答案:8、12

    内存对齐规则:

    1、 对于结构的各个成员,第一个成员位于偏移为0的位置,以后每个数据成员的偏移量必须是min(#pragma pack()指定的数,这个数据成员的自身长度) 的倍数。例如char,int,short;char首先存储在偏移量为0的位置,再来存储int,int占四个字节,则其存储位置偏移量必须为4的倍数,于是存储在偏移量为4的位置,short存储在偏移量为8的位置。

    2、 在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长度中,比较小的那个进行。

    #pragma pack(n) 表示设置为n字节对齐。 VC6默认8字节对齐。


相关文章

  • 实习面试遇到的问题总结

    Q1 给定两个字符串,求出它们之间最长的相同子字符串的长度。 暴力求解: 以字符串中的每个字符作为子串的端点...

  • 实习面试问题总结

    1.所有问题,先在纸上排草稿2.按照用户人群先分类3.表现逻辑性,先按照大类再分小类,不要按照线性顺序说 产品分析...

  • Android面试总结

    本篇主要是自己用来总结自己面试遇到的一些问题,及平时看到的面试总结问题。为以后面试做个资料准备,也为其他面试者提供...

  • 面试遇到的问题整理

    面试问题: 本次时间:2017-1-6 前言:面试都会遇到各种各样的人和各种各样的问题,以下是总结遇到的问题的。大...

  • 面试问题整理

    面试总结 标签(空格分隔): 面试 XX公司面试总结 1.自我介绍2.做过的项目,遇到的问题,如何解决,能否有更好...

  • Android面试遇到的问题总结

    内存优化 内存泄漏 当一个对象不在使用了,本应该被垃圾回收器(JVM)回收,但是这个对象由于被其他正在使用的对象所...

  • 实习总结+学习计划

    实习总结+学习计划 自7月9日至今已经实习了两个月的时间,接下来将从实习的工作内容,实习中遇到的问题,实习中...

  • 实习面试总结

    实习面经 简单的记录一下自己的实习面试吧。一共面试了四家公司,华为,今日头条,苏州微软和快手,今日头条一面被拒了,...

  • Java面试准备(持续更新)

    常见的面试问题和面试 遇到的一些没答上来的问题总结。有些问题可能平时学习时容易忽略,面试被问到了才后悔没有仔细研究...

  • 产品经理实习生的面试总结一

    老王的产品经理实习生面试总结一: 一、面试时听清楚面试官所出问题 二、如果思考时间太短可以征求面试官统一思考2·3...

网友评论

      本文标题:实习面试遇到的问题总结

      本文链接:https://www.haomeiwen.com/subject/ppsuxftx.html