![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
NodYoung
专注于机器人,计算机视觉,机器学习
展开
-
位运算
基础知识位运算是把数字用二进制表示之后,对每一位上0或1的运算。位运算总共只有5种运算:与、或、异或、左移和右移。对于异或操作,需要注意一下0^0=0; 1^1=0; 1^0=1。应用:二进制中1的个数题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2。 分析对于负数1000 0000右移一位的时候,得到110原创 2017-04-09 00:15:52 · 833 阅读 · 0 评论 -
刷题规律养成
这里总结一些刷题过程中适合自己的一些代码风格和习惯,以提升刷题速度和熟练度。 1.函数的输出结果一般以形参形式呈现;返回值用于处理函数错误:0表示调用成功,非0表示调用过程中出错。错误处理也可以原创 2017-03-16 08:51:17 · 995 阅读 · 1 评论 -
查找
基础知识1.查找,常见的方法有顺序查找、二分(折半)查找、哈希表查找、二叉排序树查找。 2.二分查找代码应能信手拈来,仅适用于事先已经排好序的顺序表;哈希表和二叉排序树查找的重点在于考查对应的数据结构而不是算法,哈希表的最主要优点是我们利用它能够在O(1) 时间查找某一元素,是效率最高的查找方式,缺点是需要额外的空间实现哈希表;与二叉排序树对应的数据结构是二叉搜索树。 3.信手拈来的二分查找代码原创 2017-03-12 12:01:03 · 699 阅读 · 0 评论 -
计算机相关基础
关于TCP连接的建立与终止参考:TCP三次握手与四次挥手TCP(Transmission Control Protocol)传输控制协议的特点:面向连接的(提供客户与服务器的连接)、提供可靠性(要求返回一个确认;UDP是不可靠的)、有序的(接收时无序,接收端最后整理成有序的)、提供流量控制(UDP不提供)、全双工的(UDP也可以是全双工的)。FTP和HTTP只使用TCP,而不使用UDP。进程原创 2017-03-04 17:57:30 · 649 阅读 · 0 评论 -
链表
1.单链表构建下面程序构建了一个无头结点的单链表。#include<iostream>#include<vector>using namespace std;struct Node { char data; Node *next;};void test(const vector<char> &v);int main() { vector<char> v1 = { 'a原创 2017-03-06 17:31:58 · 614 阅读 · 0 评论 -
《剑指offer》之知识汇总
1.应聘者需熟练掌握链表、树、栈、队列和哈希表等数据结构,以及它们的操作。链表和二叉树相关的问题是很多面试官喜欢问的问题。 2.大部分公司都会注重考查查找、排序等算法。应聘者可以在了解各种查找和排序算法的基础上,重点掌握二分查找、归并排序和快速排序(随时正确完整地写出代码),很多面试题只是这些算法的变体而已。如 面试题8“旋转数组的最小数字”和面试题38“数字在排序数组中出现的次数”的本质是考查二原创 2017-03-07 21:54:49 · 1303 阅读 · 0 评论 -
BD视觉算法工程师笔试题
选择题1. 答案:D 2. 答案:A 此代码为PHP语言。 3. 答案:A 4. 答案:D 当一个优先级高的线程进入就绪状态时,它只是有较高的概率能够抢到CPU的执行权,不是一定就能抢到执行权。 当前线程调用sleep()方法或者wait()方法时,只是暂时停止了该线程的运行,进入阻塞状态,不是终止线程。 当创建一个新的线程时,该线程也加入到了抢占cpu执行权的原创 2017-03-02 14:53:50 · 13867 阅读 · 3 评论 -
字符串
基础知识字符串是由零个或多个字符组成的有限串行。 子串的定义:串中任意个连续字符组成的子序列,并规定空串是任意串的子串,任意串是其自身的子串。 C++中通常通过char*/const char* 类型的指针来操纵C语言中的风格字符串。C/C++中常用的字符串处理函数: 函数 用法说明 strlen(s) 返回s的长度,不包括字符串结束符null strcmp(s1, s2)原创 2017-03-20 22:56:25 · 1013 阅读 · 0 评论 -
动态规划
动态规划基础知识递归解决问题的关键 a)找到递推公式b)找到递归终止条件动态规划的三个要素 a)最优子结构:问题最优解所包含的子问题的解也是最优的(递归也具备这一要素,并且这种情况下贪心策略可能也是适用的)。b)重叠子问题:指在用递归算法自顶向下对问题进行求解时,每次产生的子问题并不总是新问题,有些子问题会被重复计算多次(解决递归重复计算这一问题)。c)无后效性:指某阶段的状态一旦确定原创 2017-03-07 16:37:28 · 1258 阅读 · 0 评论 -
排序
基础知识常见排序:插入排序、冒泡排序、快速排序、堆排序、归并排序、基数排序。 算法种类 平均时间复杂度 最坏情况 空间复杂度 稳定性 选择排序 O(n2)O(n^2) O(n2)O(n^2) O(1)O(1) 不稳定 插入排序 O(n2)O(n^2) O(n2)O(n^2) O(1)O(1) 稳定 冒泡排序 O(n2)O(n^2)原创 2017-03-13 21:56:06 · 754 阅读 · 0 评论 -
视觉工程师笔试知识汇总
总结以下前些天做的笔试题。一. 笔试题笔试题罗列如下,大多都是去年师兄屡次杯具的见证,深表感谢,哈哈。试题以视觉工程师为主,部分是机器人或机器学习岗位。 Autel Robotics软件类笔试题 BaiDu视觉算法工程师笔试题 DJI视觉工程师 DJ机器学习工程师 DeepGlint计算机视觉公司机试题 SenseTime工程类笔试题 PowerVision机器人笔试题 DaHeng原创 2017-03-28 20:32:06 · 23991 阅读 · 2 评论 -
SXF科技笔试题
一.数学、算法题 1.施密特正交化的作用:将空间上一组一般的基(如{1 0 0;1 1 0;1 1 1})转换为一组规范正交基(如{1 0 0;0 1 0;0 0 1})。 (1). β1=α1∥α1∥β2=α2−⟨α2,β1⟩β1∥α2−⟨α2,β1⟩β1∥β3=α3−⟨α3,β1⟩β1−⟨α3,β2⟩β2∥α3−⟨α3,β1⟩β1−⟨α3,β2⟩β2∥\beta _1 = \frac{\原创 2017-03-23 21:52:11 · 4414 阅读 · 0 评论 -
DH图像工程师
1.指针做函数返回值时,必须返回一个处于生命周期中的变量的地址。 本题中,函数结束时str[]就被释放了,返回的地址也就没有什么意义了,并且还有可能会导致其他错误。 2.不能。 因为这里使用的是值传递,形参变量和实参已经没有什么关系了。应该使用指针或引用传递实参。 4.请说出static和const关键字尽可能多的作用。 这是牛客网上的一道题:请说出static和const关键字尽可能原创 2017-03-21 09:55:01 · 4294 阅读 · 0 评论 -
DG计算机视觉公司机试题
1.小A小B比数游戏题目: 分析: 方法一: 给定区间1~n,判断小B取值在中位数的哪侧,也就是说,如果小B取值在中位数右侧,那小A只要取值为小B取值数-1,反之,如果小B取值在中位数左侧,那小A只要取值为小B取值数+1。更具体地说: 情况一:如果小B取值在中位数右侧,随机数的取值为1~n,所以如果小A只要取值为B-1,那么随机数分布在小B左侧的情况下,小A赢。(因为左侧明显多嘛原创 2017-03-17 15:58:40 · 7606 阅读 · 0 评论 -
数组
基础知识数组是一种数据格式,能存储多个同类型的值。 二维数组的动态声明int **a=new int* [m];for(int i=0; i<m; i++) a[i]=new int [n];应用:顺时针打印矩阵题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每个数字。 代码实现int PrintMatrixClock(int** input, int rows, int co原创 2017-03-16 22:26:34 · 747 阅读 · 0 评论 -
贪心
1.基础知识贪心算法是针对要解决的问题,先做出选择,再解决剩下的子问题。将子问题的最优解和我们所作的贪心选择联合起来,就可以得出原问题的最优解,即全局最优解可以通过局部最优(贪心)选择来达到。贪心与动规的区别: 在动态规划中,每一步做出的选择都依赖于子问题的解,因此解动态规划一般是自底向上的。 而贪心算法中,我们所做的当前选择可能依赖于已经做出的所有选择,但不依赖于子问题的解,因此通常是自顶向下原创 2017-03-09 00:21:14 · 588 阅读 · 0 评论 -
队列
基础知识关于队列的实现方式,详见: 栈与队列-顺序队列与链队列类模板的实现(数据结构基础 第3周)应用:两个栈实现队列题目:用两个栈实现一个队列。请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入节点和在队列头部删除结点的功能。#include<iostream>#include<stack>using namespace std;template<typen原创 2017-03-10 23:56:49 · 581 阅读 · 0 评论 -
栈
1.基础知识关于栈的实现方式,详见: 栈与队列-顺序栈与链栈类模板的实现(数据结构基础 第3周)2.应用:栈的压入、弹出序列题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1、2、3、4、5 是某栈的压栈序列,序列4、5、3、2、1是该压栈序列对应的一个弹出序列, 但 4、5、3、1、2 就不可能是该压栈序列的弹出序列。原创 2017-03-10 00:32:43 · 791 阅读 · 0 评论 -
Au Robotics软件类笔试题
注:答案如有错误,恳请指出,多谢。一. 选择题 1.(C) 访问速度由快到慢排序:通用寄存器 > Cache > 内存 > 硬盘 2.(D) 3.(C) ARP(Address Resolution Protocol),地址解析协议,用来完成IP地址到MAC地址的映射。 Telnet,常用网络测试工具 SSH(Secure Shell),是目前较可靠,专为远程登录会话和其他网络服务原创 2017-02-28 10:29:39 · 4288 阅读 · 0 评论 -
ST工程类笔试题
1. 2. 3.原创 2017-03-17 16:32:27 · 2588 阅读 · 0 评论 -
PV机器人笔试题
一.基础题 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 二.应用题 1. 2. 3. 4. 三.开放题 1. 2. 3.原创 2017-03-20 09:02:13 · 4968 阅读 · 0 评论 -
树
1.基础知识树的基本概念和性质树的高度或深度,一般将根结点定义为第1层。一个结点的子结点个数为该结点的度,树中结点的最大度数称为树的度。将子结点视为有顺序的树称为有序树。树中的总结点数等于所有结点的度数加1。度为m的树中第i层上至多有mi-1个结点。例题:在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数为()个。 解:设原创 2017-03-03 17:54:59 · 980 阅读 · 0 评论