当前位置:   article > 正文

上海人工智能实验室面试题_人工智能 c++面试

人工智能 c++面试

来源:投稿 作者:LSC
编辑:学姐

1.自我介绍

2.确认我能否实习半年以上

3.因为这个岗位是模型的部署,所以会考量很多C++的知识和代码能力,提问C++中lambda的用法

匿名定义一个目标函数或者函数对象,不需要额外的再写一个命名函数或者函数对象,以更直接的方式去写函数,可以调高程序的可读性和可维护性。

和python的用法是类似的。但是我C++用lambda比较少,是属于C++11后的语法。

4.设置一个模板函数,实现一个数组的元素求和。

我不太会,模板太久没用了,后来重新查了一下。

语法格式如下:

template <class 类型参数1, class类型参数2, ...

返回值类型 模板名(形参表)

{

函数体

}

  1. template<class T>
  2. void sum(T *array, int size)
  3. {
  4. sum = 0;
  5. for(int i = 0; i < size++i)
  6. {
  7. sum += array[i]; 
  8. }
  9. return sum;
  10. }

5.实现一颗二叉树的定义,并用bfs搜索。

  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<iostream>
  3. #include<cstdio>
  4. #include<string>
  5. #include<queue>
  6. #include<stack>
  7. #include<unordered_map>
  8. #include<unordered_set>
  9. #include<algorithm>
  10. #include<map>
  11. #include<vector>
  12. using namespace std;
  13. struct Node
  14. {
  15.  int data;
  16.  Node *lchild, *rchild;
  17.  Node(int d, Node *= NULL, Node *= NULL) : data(d), lchild(l), rchild(r) {}
  18. };
  19. void bfs(Node *root)
  20. {
  21.  queue<Node*> q;
  22.  q.push(root);
  23.  while (!q.empty())
  24.  {
  25.   Node* temp = q.front();
  26.   q.pop();
  27.   printf("%d\n", temp->data);
  28.   if (temp->lchild != NULL) { q.push(temp->lchild); }
  29.   if (temp->rchild != NULL) { q.push(temp->rchild); }
  30.  }
  31. }

6.输入一个字符串,字符串包含大括号中括号小括号,判断其是否是正确的配对。

比如{{{()[]{}}}}是对的,{{[}}]是错的

  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<iostream>
  3. #include<cstdio>
  4. #include<string>
  5. #include<queue>
  6. #include<stack>
  7. #include<unordered_map>
  8. #include<unordered_set>
  9. #include<algorithm>
  10. #include<map>
  11. #include<vector>
  12. using namespace std;
  13. string str;
  14. stack<char> s;
  15. bool check(string &str)
  16. {
  17.  int len = str.length();
  18.  for (int i = 0; i < len; ++i)
  19.  {
  20.   if (str[i] == '{' || str[i] == '[' || str[i] == '(')
  21.   {
  22.    s.push(str[i]);
  23.   }
  24.   else
  25.   {
  26.    if (str[i] == '}')
  27.    {
  28.     if (s.empty() || s.top() != '{'return false;
  29.     s.pop();
  30.    }
  31.    else if (str[i] == ']')
  32.    {
  33.     if (s.empty() || s.top() != '['return false;
  34.     s.pop();
  35.    }
  36.    if (str[i] == ')')
  37.    {
  38.     if (s.empty() || s.top() != '('return false;
  39.     s.pop();
  40.    }
  41.   }
  42.  }
  43.  return true;
  44. }
  45. int main()
  46. {
  47.  cin >> str;
  48.  if (check(str))cout << 1 << endl;
  49.  else cout << 0 << endl;
  50.  return 0;
  51. }

最后聊了关于模型部署的工作和学习路线,以及行业前景。

更多面经可关注

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/370663
推荐阅读
相关标签