最近做了两套笔试题,复习一下错题,有很多地方需要查缺补漏,再谈一下感受总结一下。
2018届吉比特校招技术类笔试B卷
吉比特2018届提前批校园招聘-开发类试卷

一、基础题

1.已知 a = 6789x + 6789、b = 6789x + 6790、c = 6789x + 6791,则代数式a² + b² + c²-ab -bc -ca 的值为________。
题目简单,完全平方公式逆运算,1/2*[(a-b)2+(b-c)2+(c-a)2]即为原式,(1/2)[(-1)2+(-1)2+(2)2]=3。当时怎么没看到平方,直接1/2*4=2。
正确答案:3

2.两个圆,半径分别为1cm、3cm,小圆在大圆外,绕大圆圆周滚动一周,请问小圆一共旋转了几圈?
题目简单,实际上,可以看到圆心经过的距离,3+1=4。当时想着总路程3,每一圈经过1,呆了。
正确答案::4

3.假定一个同步总线的工作频率16MHz ,总线中有 32 位数据线,每个总线时钟传输一次数据,则该总线的最大数据传输率为________。
16 * 1 000 000 * 4B / 1s = 64 MB/s 。当时只知道32位数据线是4个字节。
正确答案:64MB/s

4.长度为1米的细绳上系有小球,从A点处放手后,小球第一次摆到最低点B处共移动了________米?

A 1 +(π/3) B1 + (2π/3) C2π/3 D1/2 +(π/2)

先是自由落体运动 AA’为一竖直线垂直于水平线 OA=OA’ ,然后做圆弧运动。
正确答案:1 +(π/3)

二、真·基础题(牢记概念题)

1.怎样遍历二叉查找树可以得到一个从小到大的有序序列?
正确答案:中序遍历。

2.下列哪个排序算法不是稳定的
A冒泡排序 B选择排序 C插入排序 D归并排序
正确答案:选择排序

3.给定一组数:71、39、80、25、50、42、91。对其进行排序操作,排序过程中出现如下顺序:42、39、50、25、71、80、91。那么可能使用的是哪种排序算法________。
A归并排序 B快速排序 C插入排序 D选择排序
正确答案:快速排序

4.10个并发进程使用同一个共享变量,如果最多允许4个进程同时进入其临界区,则互斥信号量的变化范围应是
正确答案:4,3,2,1,0

5.红黑树的插入复杂度为
正确答案:O(log2(n))

6.如果只想得到5000个元素组成的序列中第10个最小元素之前的部分排序的序列,使用下列选项中的哪种方法最快?
A归并排序 B快速排序 C堆排序 D选择排序
正确答案:堆排序

7.对初始序列18625473采用堆排序,当建堆(小顶堆)完毕时,堆所对应的二叉树中序遍历序列为________。
堆排序后
1
2 4
3 5 6 7
8

中序:左根右
正确答案:83251647

8.给定一个m行n列的整数矩阵,每行从左到右和每列从上到下都是升序的。判断一个整数k是否在矩阵中出现的最优算法在最坏情况下的时间复杂度是________。
正确答案:O(m+n)

9.设高度为h(只有根结点时,h=1)的二叉树没有度为1的结点,则该二叉树的总结点数至少为________。
满足题意的二叉树除了根节点外,每层只有两个结点,连在同一个父亲下,于是答案为 2h-1
正确答案: 2
h-1

三、编程题

1.求素数
输入M、N,1 < M < N < 1000000,求区间[M,N]内的所有素数的个数。素数定义:除了1以外,只能被1和自己整除的自然数称为素数

using System;
public class Program {public static void Main() {string line;while ((line = System.Console.ReadLine ()) !=null) { // 注意 while 处理多个 casestring[] tokens = line.Split();int m = int.Parse(tokens[0]);int n = int.Parse(tokens[1]);int Count = 0;for(;m<n;m++){if(IsPrimeNum(m))Count++;}System.Console.WriteLine(Count);}}public static bool IsPrimeNum(int n) {//3以内的数if (n <= 3) return n > 1;//位与 判断是否为偶数if ((n & 1) == 0) return false;//大于5的素数与6的倍数相邻,例如7,11,13,17,注意不是与6相邻就是素数!if (n % 6 != 1 && n % 6 != 5) return false;//在n的开放到5之间查找//tip:由 a=bc=sqrt(a)*sqrt(a) //可推出==> b、c中有一个大于sqrt(a)一个小于sqrt(a) //或两个都等于sqrt(a)int sqrt = (int)Math.Sqrt(n);//步进为6进行查找for (int i = 5; i <= sqrt; i += 6) {if (n % i == 0 ||n % (i + 2) == 0) return false;}return true;}
}

2.两个整数二进制位不同个数
输入两个整数,求两个整数二进制格式有多少个位不同

public class Program {public static void Main() {string line;while ((line = System.Console.ReadLine ()) != null) { // 注意 while 处理多个 casestring[] tokens = line.Split();int x = int.Parse(tokens[0]);int y = int.Parse(tokens[1]);int cnt = 0;//遍历两个整数的二进制位,每次比较它们的二进制位的最低位(即末位),并统计不同位数的数量while (x != 0 || y != 0) {//当最后一位相同时,异或的结果为0;当最后一位不同时,异或的结果为1。cnt += (x & 1) ^ (y & 1);x >>= 1;y >>= 1;}System.Console.WriteLine(cnt);}}
}

三、其他知识点

1、C语言类型转换分级别,一般多是:默认状态:低级向高级转换,级别高低小到大int、float、double注意char只可以和int之间转换;

2、若要高级向低级转换:就要用到强制类型转换符;

3.快速排序 、冒泡排序 、直接插入排序 、堆排序,除了堆排序算法的比较次数是O(nlog2n),其他的都是n(n-1)/2;

牛客网2018吉比特校招技术开发类试题分析相关推荐

  1. 牛客网 2018校招真题 美团点评 K的倍数

    Description 牛客网 2018校招真题 K的倍数 Solving Ideas sum[i + 1]: 表示序列p[0]...p[i]的和 从长度最大的子串开始判断,当剩余需要判断子串长度不可 ...

  2. 牛客网 2018校招真题 摩拜 排序次数

    Description 牛客网 2018校招真题 排序次数 Solving Ideas 将数组a的元素拷贝到数组b 对数组b进行排序 对比数组b,统计数组a中已排序的元素个数 如:a = [2, 11 ...

  3. 牛客网 2018校招真题 滴滴出行 寻找丑数

    Description 牛客网 2018校招真题 寻找丑数 Solving Ideas 参考<剑指offer>丑数 Time complexity : O(n)O(n)O(n) Space ...

  4. 牛客网 2018校招真题 爱奇艺 最后一位

    Description 牛客网 2018校招真题 最后一位 Solving Ideas 二分查找 Solution import java.io.BufferedReader; import java ...

  5. 牛客网 2018校招真题 京东 回文

    Description 牛客网 2018校招真题 回文 Solving Ideas 计算以str[str.length() - 1]为结尾的最大的回文长度,从而判断最少需要追加多少个字母才能使整个串成 ...

  6. 牛客网 2018校招真题 美团点评 关灯游戏

    Description 牛客网 2018校招真题 关灯游戏 Solving Ideas 只与最右边的数字有关,如果最右边的数字为1,则Alice赢,否则Bob赢 假设最右边的数字为1 因为Alice是 ...

  7. 牛客网 2018校招真题 网易 骰子游戏

    Description 牛客网 2018校招真题 骰子游戏 Solving Ideas 参考<剑指offer>n个骰子的点数 考虑用两个数组来存储骰子点数的每一个总数出现的次数. 在一次循 ...

  8. 牛客网 2018校招真题 美团点评 重要节点

    Description 牛客网 2018校招真题 重要节点 Solving Ideas BFS 创建一个标记数组arrive,arrive[i][j]为true表示从i可以到达j, false则不能 ...

  9. 牛客网 2018校招真题 招商银行信用卡 整数成绩最大化

    Description 牛客网 2018校招真题 整数成绩最大化 Solving Ideas 当n>4时,最大受益为尽可能拆分出更多的数字3,最后一个不足3的,若其为1则分给其中一个3,得到4, ...

最新文章

  1. 知乎算法团队负责人孙付伟:Graph Embedding在知乎的应用实践
  2. JavaFX UI控件教程(一)之简述
  3. c 连接mysql示例 源码_MySQL 连接
  4. Android数据存储——SQLite数据库(模板)
  5. ipa解包打包工具_ios打包ipa的四种实用方法(.app转.ipa)
  6. CCF201703-1 分蛋糕(100分)【序列处理】
  7. php绕过验证码注册,验证码被绕过的处理方法_PHP教程
  8. Python黑帽子--黑客与渗透测试编程之道
  9. ssm的餐饮点餐系统源码
  10. 《jdk8u源码分析》jvm.dll接口列表
  11. 粉刷匠计算机音乐,音乐《粉刷匠》
  12. 硬件测试必需的5个流程,每一个步骤都不能少!
  13. 使用C#从图片文件生成图标ICON文件(附源文件)
  14. 快速生成CRUD接口的神器-IDEA插件EasyCode
  15. 微信语音(录音,上传,下载,播放,停止)
  16. 这5个“计算机专业”就业很吃香,毕业生需求量大,还不会过时
  17. 关于nacos配置中心配置不成功的问题
  18. P1873 砍树(二分查找模板)
  19. mysql order by 报错_Mysql 使用 select as 的值 order by 出现数据错误问题
  20. 产业护航 湾区共振!11月30日飞桨携手生态伙伴带来企业智能化升级的新思路...

热门文章

  1. 根据ip地址查询城市信息
  2. python怎么宏定义符号变量_python中定义宏
  3. Windows7环境下Excel2010中图片超链接默认打开程序修改
  4. STM32最小板完成音频数据的读取与DAC播放
  5. java好找工作吗_学Java的人那么多,工作好找吗怎么就业
  6. 细数YOLOv5在使用过程中自己改动的部分
  7. 从井字棋程序总结C语言初学的知识
  8. ksu7对讲机调频软件_常见对讲机调频方法-2017年10月.doc
  9. 我做外包的血与泪,也是很多同行的缩影,引以为鉴
  10. Gmail现在在Android上具有撤消发送按钮