【日志】面试题 ---- 20201204 mt

  1. 算法题 (推理题
    题目: 64匹马,8条赛道,找出最快的4匹马,最少需要比赛多少次?
    解答: 首先分8组比赛,得到8组的前4名,剩32匹;让8组的第1名进行比赛,得到前4名(A1,B1,C1,D1,由快到慢),后4名的同组12匹马均淘汰(每组2,3,4名比第1名都慢,这四组其第1名至少排第5,其余肯定不属于最快的4匹马),剩16匹;同理,D1组的2,3,4名淘汰,C1组的3,4名淘汰,B1组的4名淘汰,剩余10匹;最后,最快已确定为A1,剩余9匹选择任意8匹进行比赛1次,淘汰后5名,剩余4匹进行比赛,得到最快3匹。比赛场次8+1+1+1=11次。
  2. 编程题
    题目: 将字符串str1(简称为A)编辑为字符串str2(简称为B),有三种操作插入、删除、替换,各自代价为ic、dc、rc,请问最小代价是多少?
    解答: (淦,竟然还是动态规划,亏我面试前之前刷了好多动态规划题,都白刷了 ,查了之后发现这在力扣算困难等级,算是"72. 编辑距离"的变种,但我还是个刷简单题的小白 = = )
    本质上三种操作:
    在单词 A 中插入一个字符;
    在单词 B 中插入一个字符;
    修改单词 A 的一个字符。
    解题思路: dp[i][j]代表A的前i个字符到B的前j个字符的代价,状态转移关系为,由三种状态dp[i-1][j],dp[i][j-1],dp[i-1][j-1]可得,代价分别为dp[i-1][j]+dc(在i-1,j的代价基础上删除得到i,j的代价),dp[i][j-1]+ic(在i,j-1的代价基础上插入得到i,j的代价),若是A第i字母不等于B第j字母,代价为dp[i-1][j-1]+rc(替换),否则为dp[i-1][j-1](相等不用替换)。三种代价取最小,即为dp[i][j]的代价,最后返回dp[A.size()][B.size()].
class Solution {
public:
    int minDistance(string str1, string str2,int ic, int dc, int rc) {
        int n = str1.size(), m = str2.size();
        if(n*m==0) return n+m;
        int dp[n+1][m+1];
        for(int i =0;i<=n; ++i) dp[i][0] = i;
        for(int i =0; i<=m; ++i) dp[0][i] = i;
        for(int i=1;i<=n;++i){
            for(int j=1;j<=m; ++j){
                int c1 = dp[i-1][j]+dc;
                int c2 = dp[i][j-1]+ic;
                int c3 = dp[i-1][j-1];
                if(word1[i-1]!=word2[j-1]) c3=c3+rc;
                dp[i][j] = min(c1,min(c2,c3));
            }
        } 
        return dp[n][m];
    }
};
  1. 问答
    一轮(应该算技术面,更侧重聊项目细节)上来没有自我介绍,直接针对简历问项目,跟应聘岗位相关的会详细问负责的工作,算法,现在的阶段和难点,为什么采用这种算法,调研复现过其他开源代码没有(例如百度Appollo)。编程题考的爬楼梯,只做出找规律递推的方法,hr提示之后可以看一下动态规划的解法。
    二轮(技术面,侧重考算法和编程),开始问了最快就职时间和时长,然后要求简单介绍一下自己的项目和课题,考算法题和编程。问答: 规划控制的难点,维度不同,规划基于路网信息,如何考虑运动模型是难点,控制考虑动力学、运动学,模型不准带来误差,前向定位噪声、扰动导致鲁棒性较差。

【碎碎念】 害,被迫得学着抢计算机饭碗,泪目 T T

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值