【面试】2022.08——地平线自动驾驶规控岗一面二面

编程入门 行业动态 更新时间:2024-10-09 06:29:49

【面试】2022.08——<a href=https://www.elefans.com/category/jswz/34/1745978.html style=地平线自动驾驶规控岗一面二面"/>

【面试】2022.08——地平线自动驾驶规控岗一面二面

一面

2022.8.19

  • 问项目

  • 做一道数学题:给一个多项式式子,化成二次型表示
    f ( x 1 , x 2 , x 3 ) = ( x 1 − 1 ) 2 + ( x 2 − 2 ) 2 + ( x 3 − 3 ) 2 + ( x 1 − x 2 ) 2 + ( x 2 − x 3 ) 2 x 1 , x 2 , x 3 ∈ R f\left(x_1, x_2, x_3\right)=\left(x_1-1\right)^2+\left(x_2-2\right)^2+\left(x_3-3\right)^2+\left(x_1-x_2\right)^2+\left(x_2-x_3\right)^2\\ x_1, x_2, x_3 \in \mathbf{R} f(x1​,x2​,x3​)=(x1​−1)2+(x2​−2)2+(x3​−3)2+(x1​−x2​)2+(x2​−x3​)2x1​,x2​,x3​∈R

    • 将该函数写成矩阵和向量的二次型形式。
    • 该函数取最小值的充分必要条件是?
  • coding环节:已知一条线段两端点坐标A,B以及一点C,求点C到线段AB的投影点坐标。

  • 意向地

  • 职业规划

二面-终止(手撕没撕出来)

2022.8.26

25min,没写出来,直接流程终止

  • 使用邻接矩阵的方式

    #include<iostream>
    #include<vector>
    #include<string>
    #include <queue>
    #include <algorithm>using namespace std;vector<vector<int>>adjacency_matrix(vector<vector<int>>graph){int n = graph.size();vector<vector<int>>mat(n,vector<int>(n,0));for(int i=0;i<n;i++){mat[graph[i][0]][graph[i][1]]=graph[i][2];}return mat;
    }
    int sum=0;
    vector<int>res;
    void backtracking(vector<vector<int>>mat,int start,int end){if(start==end){res.push_back(sum);return;}if(start==0)return;for(int i=0;i<mat[start].size();i++){if(mat[start][i]==0)continue;sum+=mat[start][i];backtracking(mat,i,end);sum-=mat[start][i];}
    }int main(){vector<vector<int>>graph ={{1,2,3},{1,3,2},{1,4,1},{2,5,2},{3,6,1},{4,6,4},{4,5,3},{6,5,3}};vector<vector<int>>adj = adjacency_matrix(graph);//打印邻接矩阵
    //    for(int i=0;i<adj.size();i++){
    //        for(int j=0;j<adj[i].size();j++){
    //            cout<<adj[i][j]<<' ';
    //        }
    //        cout<<endl;
    //    }backtracking(adj,1,5);sort(res.begin(),res.end());for(int i=0;i<res.size();i++){cout<<res[i]<<' ';}return 0;
    }
  • 使用邻接表的方式

    #include<iostream>
    #include<vector>
    #include<string>
    #include <queue>
    #include <algorithm>using namespace std;vector<vector<pair<int,int>>>adjacency_list(vector<vector<int>>graph){int n = graph.size();vector<vector<pair<int,int>>>mat(n);for(int i=0;i<n;i++){mat[graph[i][0]].push_back({graph[i][1],graph[i][2]});}return mat;
    }
    int sum=0;
    vector<int>res;
    void backtracking(vector<vector<pair<int,int>>> mat,int start,int end){if(start==end){res.push_back(sum);return;}for(int i=0;i<mat[start].size();i++){sum+=mat[start][i].second;backtracking(mat,mat[start][i].first,end);sum-=mat[start][i].second;}
    }int main(){vector<vector<int>>graph ={{1,2,3},{1,3,2},{1,4,1},{2,5,2},{3,6,1},{4,6,4},{4,5,3},{6,5,3}};vector<vector<pair<int,int>>>adj = adjacency_list(graph);backtracking(adj,1,5);sort(res.begin(),res.end());for(int i=0;i<res.size();i++){cout<<res[i]<<' ';}return 0;
    }

更多推荐

【面试】2022.08——地平线自动驾驶规控岗一面二面

本文发布于:2024-02-06 02:02:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1745903.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:地平线   规控岗

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!