七月三日

sg输入法:

面试官先拿一套卷子,1h时间答完,题量不大,

1.一道程序题,写输出。n&(n-1)。。。求f(131),实际上是求n在二进制下1的个数。

int f(int n) {
    int cnt = 0;
    while(n) {
             cnt++;
             n = n&(n-1);
    }
    return cnt;
}

2.单链表逆置,写代码

3.也是根据程序写输出。f(1234),应该输出4320

int f(int n) {
    int s = 0;
    do {
             s += n%10;
             n /= 10;
             s *= 10;

    } while(n>1);
    return s;
}

4.将一个二叉排序树改成双链表,要求不能有新节点

***这个题很好!!

5.哪种排序方法的比较次数与初始顺序无关,答案是选择排序

6.101.01111在计算机中表示的数,答案5.78

7.一段代码,分析其时间复杂度,f()函数的时间复杂度是O(1).

for(i = 1; i < n; i *= 2)
      for(j = i/2; j < i; ++j)
            f();

答案O(n),模拟一下。。

8.哈希表的基本思想,以及两种解决冲突的办法

9.支持向量机相关

10.一道概率题,大概是:病人患癌症的概率是XX,医院在没有患病的情况下,检查出癌症的概率是XX,在患病情况下,检查出癌症的概率是XX;问,在检查出癌症的情况下,确实患癌症的概率?

题目大概这样,就是求条件概率。。

设:检查出癌症的事件为A

患癌症的事件为B

则P(A|B) = P(AB)/P(B) = P(A)*P(B|A) / P(B);

讲了一通卷子,然后又问了:

1.取石子游戏,两个人轮流取石子,只能拿一个或者相邻的两个,谁最后取谁赢。问必胜策略

答案:这个跟圆桌上放圆盘一样。。。

2.类似于这样的数组:7 8 9 1 2 3 4, (将一个升序序列,切断,后面拿到前面)查找某个值。

答案:二分查找切开的地方,然后根据查找的值判断在哪边二分,

3.手机键盘中,2对应a、b、c;7对应p、q、r、s;。。。 输入一组数字,输出所有对应字母的排列。要求使用内存最小。 这个直接上机敲代码。。

答案:dfs

rr网:

面试官1:

1.单链表逆置,这个上午也问过。。。

2.两个有序链表合并成一个有序链表。

两道题都是往纸上写,然后面试官分别拿一组样例测试,面试官很仔细~

3.问C++中,STL容器与通用函数之间的联系。。。

问了问C++看了哪些书。。

面试官2:

问了问简历,自我介绍。问些项目相关。。然后说是校友。。

1.类似于这样的数组:9 -1 2 0 -3 4 -5 -9, 设计算法,将数组中所有负数放在正数左面

答案:两个指针,一个从头找第一个正数,另一个从尾找第一个负数,交换。。。重复此过程。。

2.结构体中有三门课程的成绩,对结构体数组进行排序,要求:按照成绩之和升序,如果相等的话按照a升序排序,如果a相等的话,再按照b排序。。。

答案:自写mycmp。面试官又加了成绩之和小于k的条件,又问有没有其他方法,在类里面定义<运算符。

3.据说是工作中遇到的实际问题:n个好友,每个好友有m条新鲜事,新鲜事按照时间顺序从小到大排序;找出前k小个新鲜事。。找出前k大个新鲜事。。。。找出a,b间的新鲜事。。。。思路都一样

答案:找前k小个--维护一个大小为k的大根堆,如果当前值比堆顶元素小,则插入,否则跳过这个好友,从头判断下个好友的新鲜事。。

之后说了下工作的内容。。。

原文链接: https://www.cnblogs.com/Accoral/p/3172181.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/94638

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月10日 上午2:43
下一篇 2023年2月10日 上午2:44

相关推荐