2022-09-09-akuna-cpp开发一面

全英面试,但一上来就做题,四题完了后就反问然后结束

  1. 求int里1的个数是否为奇数
  2. 改错,求二叉树最大值(看成了二叉搜索树,写完后提示后再改的)
  3. 让修改账户balance值函数变成线程安全的(直接加了两个锁,伪代码)
  4. 实现一个模板最小堆

都是给了一些代码然后填充实现的

// Complete the incomplete functions below as part of a Min Heap
#include<vector>

template <class T>
class PriorityQueue
{
private:
    std::vector<T> a;

public:
  PriorityQueue(){

  }

  ~PriorityQueue(){

  }

  const T& top() const{
      if(a.size()>0)
        return a[0];
    //   else throw std::exception{

    //   }
  }
//    0
//  1    2
// 3 4. 5 6
  void push(const T &value){
      a.push_back(value);
      int i=a.size()-1;
      int fatheri;
      while(i>0){
          fatheri=(i-1)>>1;
          if(a[fatheri]>a[i]){
              swap(a[fatheri],a[i]);
              i=fatheri;
          }else break; 
      }
  }

  void pop(){
      a[0]=a[a.size()-1];
      a.pop_back();
      int i=0;
      while(i<a.size()){
          int li=(i<<1)+1;
          int ri=(i<<1)+2;
          int nexti;
          if(ri<a.size()){
              if(a[li]<a[ri]){
                  nexti=li;
              }else nexti=ri;
          }else if(li<a.size()){
              nexti=li;
          }
          else break;
          if(a[nexti]>=a[i])
            break;
          else {
              swap(a[i],a[nexti]);
              i=nexti;
          }
      }
  }
}
#奥可纳Akuna##23届秋招##面试##23秋招##23届秋招笔面经#
全部评论
下午akuna突然打电话来20分钟英语沟通了下,最后说下周请个hr帮我训练一下,因为后续都是英文面试
1 回复 分享
发布于 2022-09-09 18:07 上海
跟你一样,但是没有第三题
点赞 回复 分享
发布于 2022-10-22 20:58 江苏
有二面吗
点赞 回复 分享
发布于 2022-09-22 17:51 北京
大佬拿了几个offer了
点赞 回复 分享
发布于 2022-09-09 15:24 四川

相关推荐

在看牛客的社畜很积极:身高体重那一行信息去掉,学校那一行的信息放上面,找半天都没找到你是哪个学校什么专业的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
6
15
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务