
笔记
文章平均质量分 89
风起时想你啊
这个作者很懒,什么都没留下…
展开
-
二叉树和递归面试总结
1. 二叉树的遍历2.1 Leetcode 144:Binary Tree Preorder Traversal求一个二叉树的前序遍历。例如:解法一(递归写法):先处理当前结点,然后在递归处理左子树和右子树。class Solution {private: vector<int> res; //必须声明为类成员变量,如果在函数里面声明,则结果会报错,不知道原因。...2020-04-03 16:02:18 · 287 阅读 · 0 评论 -
链表面试总结
一. 在链表中穿针引线2.1 Leetcode 206:Reverse Linked List反转一个链表。解法:设立pre,cur和next三个指针完成穿针引线。示意图如下:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next;...原创 2020-04-03 16:02:04 · 486 阅读 · 2 评论 -
c++面试总结
一. C++空类的字节数C++标准规定类的大小不为0,空类的大小为1,当类不包含虚函数和非静态数据成员时,其对象大小也为1。 如果在类中声明了虚函数(不管是1个还是多个),那么在实例化对象时,编译器会自动在对象里安插一个指针指向虚函数表VTable,在32位机器上,一个对象会增加4个字节来存储此指针,它是实现面向对象中多态的关键。而虚函数本身和其他成员函数一样,是不占用对象的空间的。 我们来看下...2020-04-03 16:01:49 · 240 阅读 · 0 评论 -
字符串和数组面试总结
一. 排序算法1. 选择排序void selectionSort(int* arr, int n){ for(int i = 0; i < n; i++){ int minIndex = i; for(int j = i + 1; j < n; j++) if(arr[minIndex] > arr[j]) minIndex = j; swap(a...原创 2020-04-03 16:01:29 · 1521 阅读 · 1 评论 -
机器学习算法面试总结
一. BP的推导假设网络输入为X=[x1,x2,…,xM]X = [x_1, x_2, \ldots , x_M]X=[x1,x2,…,xM],网络实际输出Y^=[y^1,y^2,…,y^C]\hat Y = [{\hat y_1},{\hat y_2}, \ldots ,{\hat y_C}]Y^=[y^1,y^2,…,y^C],期望输出Y=[y1,y2,…,yC]Y = ...原创 2020-04-03 16:00:52 · 2864 阅读 · 0 评论 -
数学问题面试总结
假设有n块石头,甲乙两人轮流拿1-2块石头。规定甲先拿,最后一个拿石头的人输,问甲在什么情况下会赢?分析:(1)当n等于1时,甲输;(2)当n等于2时,甲先拿1个,剩了1个石头,甲赢;(3)当n等于3时,甲先拿2个,剩了1个石头,甲赢;(4)当n等于4时,如果甲第1次拿了1个,乙就会拿2个,剩了1个石头,那么甲就会输;如果甲第1次拿了2个,乙就会拿1个,剩了1个石头,那么甲还是会输。综...2020-04-03 16:00:02 · 1149 阅读 · 0 评论 -
python面试总结
一. python中赋值,浅拷贝,深拷贝的区别结论(1)直接赋值是一个完完全全的引用,对新变量的任何改动都会影响到原对象;(2)浅拷贝创建了新的对象,但只是拷贝了序列的元素,对于元素也是一个序列的情况,只拷贝了对这个序列的引用;(3)深拷贝是完完全全的拷贝,把原对象完整的拷贝到了新对象中。例子orig = [1, 'string', [1, 3, 5]## 1. 赋值copy...2020-04-03 15:59:12 · 351 阅读 · 0 评论 -
pytorch面试总结
一. pytorch多卡训练的原理思想(1)将模型加载到一个指定的主GPU上,然后将模型浅拷贝到其它的从GPU上;(2)将总的batch数据等分到不同的GPU上(坑:需要先将数据加载到主GPU上);(3)每个GPU根据自己分配到的数据进行forward计算得到loss,并通过backward得到权重梯度;(4)主GPU将所有从GPU得到的梯度进行合并并用于更新模型的参数。实现(1)...2020-04-03 15:57:40 · 7738 阅读 · 0 评论