自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(252)
  • 资源 (15)
  • 收藏
  • 关注

原创 6.26打卡:剑指 offer两题:和为S的连续正序序列/和为S的两个数字

和为S的连续正序序列题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序思路题目说的是连续

2020-06-26 20:35:37 327

原创 5.25打卡:剑指 offer两题:二叉树的深度/平衡二叉树

二叉树的深度题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: int Tr

2020-05-25 10:48:35 271

原创 5.24打卡:剑指 offer两题:两个链表的第一个公共节点/数字在排序数组中出现的次数

两个链表的第一个公共节点题目描述输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)思路:连接两个链表,使两个指针遍历的长度相等,遇到第一个相同的节点返回即可,还有另一种先求出较长的链表,再做遍历其实原理一样,属同种解法。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {

2020-05-24 10:49:05 370

原创 5.22打卡:剑指 offer两题:第一次只出现一次的字符/数组中的逆序对

第一次只出现一次的字符题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)思路:设置两个map,一个map保存字符的出现次数,一个map保存每个字符的初始地址。class Solution {public: int FirstNotRepeatingChar(string str) { if(str.size() <= 0)

2020-05-22 11:02:09 248 1

原创 5.19打卡:剑指 offer两题:把数组排成最小的数/丑数

把数组排成最小的数题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路:对vector容器内的数据进行排序,按照 将a和b转为string后,若 a+b<b+a,a排在在前的规则排序, 如 2,21 因为 212 < 221 所以 排序后为 21 2。注:int 转化为 string,使用to_string();string 转 int,使用a

2020-05-19 10:46:47 197

原创 5.18打卡:剑指 offer两题:最小k个数/整数1出现的次数

最小k个数题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。class Solution {public: void AdjustHeap(vector<int> &input, int i, int len){ //i是指从第i个结点开始调整,len是指调整范围0-len int child = 2*i + 1; int temp =

2020-05-19 09:46:06 175

原创 5.17打卡:剑指 offer两题:数组中出现次数超过一半的数字/连续子数组最大的和

数组中出现次数超过一半的数字题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路:借助哈希表,哈希表的键是数字,值是数字出现的次数。整体流程如下:遍历数组,统计数字和出现次数 遍历哈希表,返回出现次数超过长度一半的数字class Solution {public: int MoreThanHalfNum_So

2020-05-17 10:42:13 201

原创 5.16打卡:剑指 offer两题:二叉搜索树与双向链表/字符串的排列

二叉搜索树与双向链表题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路:通过中序遍历将节点保存下来,这里提供一种递归合并链表的解题思路:递归左右子树,遍历左子树到最后一个节点lastNo,随后将left list root right list拼接起来即可/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;

2020-05-16 12:08:37 176

原创 5.13打卡:剑指 offer两题:复杂链表的复制/二叉搜索树与双向链表

复杂链表的复制题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)思路:1、从头节点开始遍历,跟着->next方向建立所有的节点出来,同时用map<label, pisition>记录每个值在链表的什么位置(这里大胆假设每个节点的值都不一样,否则我也没招了,,)2、此时有了链表雏形,接

2020-05-14 10:55:54 131

原创 5.13打卡:剑指 offer两题:二叉搜索树的后序遍历序列/二叉树中和为某一值的路径

二叉搜索树的后序遍历序列题目描述输入一个非空整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:二叉树的后序遍历数组有着什么的特点?特点:遍历的时候,如果遇到比最后一个元素大的节点,就说明它的前面都比最后一个元素小,该元素后面的所有值都必须大于最后一个值,这两个条件必须都要满足。否则就说明该序列不是二叉树后序遍历。例子: 2 4 3 6 8 7 5 这是一个正确的后序遍历这个例子的特点就是:最后一个元素是

2020-05-13 12:30:31 135

原创 5.12打卡:剑指 offer两题:栈的压入、弹出序列/从上往下打印二叉树节点

栈的压入、弹出序列题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)class Solution {public: bool IsPopOrder(vector<int> pushV,vector<int&gt

2020-05-12 14:19:59 147

原创 5.11打卡:剑指 offer两题:顺时针打印矩阵/包含min函数的栈

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.解题思路:顺时针打印就是按圈数循环打印,一圈包含两行或者两列,在打印的时候会出现某一圈中只包含一行,要判断从左向右打印和从右向左打印的时候是否会出现重复打印,同样只包含一列时,要判断从上向下打印和从下向上打印的时候是否会出现重复

2020-05-11 12:09:10 142

原创 原创 5.10打卡:剑指 offer两题:树的子结构/二叉树镜像

树的子结构题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路:根据题意可知,需要一个函数判断树A和树B是否有相同的结构。显然是个递归程序。可考察递归程序3部曲。递归函数的功能:判断2个数是否有相同的结构,如果相同,返回true,否则返回false 递归终止条件:如果树B为空,返回true,此时,不管树A是否为空,都为true 否则,如果树B不为空,但是树A为空,返回false,此时B还没空但A空了,显然false下一步递归参数:

2020-05-10 11:30:16 118

原创 原创 5.9打卡:剑指 offer两题:调反转链表/合并两个排序的链表

反转链表题目描述输入一个链表,反转链表后,输出新链表的表头。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ReverseList(ListNode* pHead) { if(pHead == NULL || pHead->next

2020-05-09 10:51:05 131

原创 原创 5.7打卡:剑指 offer两题:调整数组/链表中倒数第k个节点

调整数组顺序使奇数位于偶数前面输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路:参考快速排序i++往前走碰到偶数停下来,j = i+1 若 a[j]为偶数,j++前进,直到碰到奇数 a[j]对应的奇数插到a[i]位置,j经过的j-i个偶数依次后移 如果j...

2020-05-07 12:20:11 150

原创 好未来面试准备

算法题求01矩阵最大正方形面积参考:https://leetcode-cn.com/problems/maximal-square/solution/leetcode221-xian-xing-dp-by-happy_yuxuan/class Solution {public: int maximalSquare(vector<vector<char>...

2020-05-05 23:36:02 1091

原创 linux内核源码分析(二)堆栈

堆栈C代码中嵌入汇编代码函数指针与回调函数什么是用户态和内核态?进程的地址空间Linux中的内核空间

2020-05-05 19:27:51 164

原创 原创 5.5打卡:剑指 offer两题:二进制中1的个数/数值的整数次方

二进制中1的个数题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路:因为n&(n-1)每次都消去最右边的1,最终1全被消去会得到0,所以有几个1就可以进行几次n&(n-1)。class Solution {public: int NumberOf1(int n) { int count = 0; ...

2020-05-05 11:13:15 145

原创 linux内核源码分析(一)X86汇编指令

什么是冯诺伊曼体系?可以看到冯诺依曼架构不区分数据与指令,将两者放在同一内存中;而哈佛结构将两者分别存放在Instruction Memory和Data Memory。指令和数据放在一起的后果是取指令和取数据不能同时进行,否则会引起访存的混乱。发展到今天,CPU的运算速度已经远远超过了访存速度,因此CPU必须浪费时间等数据;而哈佛构架由于指令和数据是分开存放的,所以在等数据的同时可以预取...

2020-05-04 21:12:17 914

原创 5.4打卡:剑指 offer两题:变态跳台阶/矩形覆盖

变态跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。分析参考:https://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387?answerType=1&f=discussiondp 就是可以由什么状态推导出最后的...

2020-05-04 10:22:14 208

原创 5.3打卡:剑指 offer两题:斐波那阶数列/跳台阶

斐波那阶数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39思路:其实我们可以发现每次就用到了最近的两个数,所以我们可以只存储最近的两个数sum 存储第 n 项的值 one 存储第 n-1 项的值 two 存储第 n-2 项的值class Solution {public:...

2020-05-03 10:42:44 162

原创 5.2打卡:剑指 offer两题:用两个栈实现队列/旋转数组最小数字

用两个栈实现队列题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:1、当插入时,直接插入 stack12、当弹出时,当 stack2 不为空,弹出 stack2 栈顶元素,如果 stack2 为空,将 stack1 中的全部数逐个出栈入栈 stack2,再弹出 stack2 栈顶元素class Solution{publi...

2020-05-02 11:44:21 145

原创 5.1打卡:剑指 offer两题:从尾到头打印链表/重建二叉树

从尾到头打印链表题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }*...

2020-05-01 11:10:20 130

原创 4.30打卡:剑指 offer两题:二维数组中的查找/替换空格

二维数组中的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool Find(int target, vector<vector<int> > a...

2020-04-30 12:26:23 163

原创 联发科面试准备

目录项目介绍需要复习的点1、“挑战杯”科技作品竞赛-智能窗户控制系统2、图像jni调用流程3、飞控PID算法4、安卓系统的input子系统, led子系统5、串口通信项目介绍需要复习的点任务:1、了解一下安卓系统的input子系统, led子系统2、自己做的基于安卓开发的应用(智能家居)流程,需要更细致的了解3、图像方面jni调用在熟悉一下4、...

2020-04-28 14:48:37 1087

原创 每日两题leetcode打卡:圆圈中最后剩下的数字/抓住那头牛

圆圈中最后剩下的数字0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出:3示例 2:输入: n = 10, ...

2020-04-26 09:50:35 247

原创 快手面试准备

CV介绍一下常用的CV网络ssd网络/yolo/faster rcnnyolo:主要分成backbone和head两部分。(1)backbone骨架采用新设计的darknet-53,每个convolutional都包括conv+bn+leakrelu模块。和vgg十分类似。darknet-19首 先在imagenet上面进行重新训练,然后把conv+avg+softmax去掉,...

2020-04-24 23:00:42 834

原创 C++笔试题模版汇总(五)动态规划/贪心

动态规划背包问题问题:有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。分析:每次只能选择一个物品。有4个物品,最大容量是5:2和3加起来刚好不超过背包最大体积,所以最大为8.动态规划要用两个方面来表示:1、状态表示:需要几维,f...

2020-04-23 11:10:31 772

原创 深信服一面

自我介绍,介绍自己实习经历,然后打断我直接问我项目相关问题。项目介绍不是很清楚,算法推荐介绍得重新理一下,说话太快,别急。1.C++虚函数作用?虚函数父类做了很多功能,有些做不了-》需要子类实现2.虚函数与纯虚函数区别3.纯虚函数父类可以实现纯虚函数吗?这个好像不可以4.纯虚函数跟虚函数在虚表里面放的是不是一样的,编译的时候有没有不一样?说的有点问题5.析构函数是干什么的?...

2020-04-22 22:30:06 271

原创 每日四题打卡-4.22:区间DP-石子合并/线性DP数字三角形/背包问题

区间DP-石子合并设有N堆石子排成一排,其编号为1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有4堆石子分别为 1 3 5 2, 我们可以先合并1、2堆,代价为4,得到4 5 2, ...

2020-04-22 12:04:15 204

原创 每日四题打卡-4.20:记忆化搜索-滑雪/状态压缩DP-蒙德里安的梦想/数位统计DP-计数问题/计数类DP-整数划分

记忆化搜索-滑雪给定一个R行C列的矩阵,表示一个矩形网格滑雪场。矩阵中第 i 行第 j 列的点表示滑雪场的第 i 行第 j 列区域的高度。一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。下面给出一个矩阵作为例子: 1 2 3 4 516 17 18 ...

2020-04-20 12:18:16 341

原创 百度C++/PHP软件研发工程师一面凉经

开场自我介绍,然后介绍一下自己硕士期间做的工作,然后手撕代码。1、手写快排2、n以内素数3、介绍一下项目内容

2020-04-18 15:46:46 360 1

原创 百度C++研发面试题汇总

算法剑指offer 11、旋转数组的最小数字 思路:从头到尾遍历数组一次,我们就能找出最小的元素。这种思路的时间复杂度显然是O(n)。但是这个思路没有利用输入的旋转数组的特性,肯定达不到面试官的要求。我们注意到旋转之后的数组实际上可以划分为两个排序的子数组,而且前面的子数组的元素都大于或者等于后面子数组的元素。我们还注意到最小的元素刚好是这两个子数组的分界线。在排序的数组中我们可以用二分查...

2020-04-17 23:25:41 4480

原创 每日四题打卡-4.17:线性DP-编辑距离/线性DP-最短编辑距离/线性DP-最长公共子序列/线性DP-最长上升子序列

线性DP-编辑距离给定n个长度不超过10的字符串以及m次询问,每次询问给出一个字符串和一个操作次数上限。对于每次询问,请你求出给定的n个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。每个对字符串进行的单个字符的插入、删除或替换算作一次操作。输入格式第一行包含两个整数n和m。接下来n行,每行包含一个字符串,表示给定的字符串。再接下来m行,每行包含...

2020-04-17 14:42:04 202

原创 每日四题打卡-4.16:贪心-区间覆盖/贪心-区间分组/贪心-最大不相交区间数量/贪心-区间选点

贪心-区间覆盖给定N个闭区间[ai,biai,bi]以及一个线段区间[s,ts,t],请你选择尽量少的区间,将指定线段区间完全覆盖。输出最少区间数,如果无法完全覆盖则输出-1。输入格式第一行包含两个整数s和t,表示给定线段区间的两个端点。第二行包含整数N,表示给定区间数。接下来N行,每行包含两个整数ai,biai,bi,表示一个区间的两个端点。输出格式输出一个整数,...

2020-04-16 14:36:33 246

原创 每日四题打卡-4.15:耍杂技的牛/贪心绝对值不等式-货仓选址/贪心排序不等式-排队打水/huffman哈夫曼树-合并果子

耍杂技的牛具体:https://blog.csdn.net/qq_27262727/article/details/105515507农民约翰的N头奶牛(编号为1..N)计划逃跑并加入马戏团,为此它们决定练习表演杂技。奶牛们不是非常有创意,只提出了一个杂技表演:叠罗汉,表演时,奶牛们站在彼此的身上,形成一个高高的垂直堆叠。奶牛们正在试图找到自己在这个堆叠中应该所处的位置顺序。...

2020-04-15 11:57:27 256

原创 贪心推公式-耍杂技的牛

农民约翰的N头奶牛(编号为1..N)计划逃跑并加入马戏团,为此它们决定练习表演杂技。奶牛们不是非常有创意,只提出了一个杂技表演:叠罗汉,表演时,奶牛们站在彼此的身上,形成一个高高的垂直堆叠。奶牛们正在试图找到自己在这个堆叠中应该所处的位置顺序。这N头奶牛中的每一头都有着自己的重量WiWi以及自己的强壮程度SiSi。一头牛支撑不住的可能性取决于它头上所有牛的总重量(不包括它自己)...

2020-04-14 17:01:51 334

原创 贪心绝对值不等式-货仓选址

在一条数轴上有NN家商店,它们的坐标分别为A1A1~ANAN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。思路:时间复杂度(O(nlog(n))输入格式第一行输入整数N。第二行N个整数A1A1~ANAN。输出格式输出一个整数,表示距离之和的最小值。...

2020-04-14 16:45:10 177

原创 贪心排序不等式-排队打水

有n个人排队到 1 个水龙头处打水,第i个人装满水桶所需的时间是ti,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小?

2020-04-14 12:20:54 584

原创 C++内存管理(二)allocator内存分配器

VC6 malloc内存管理目的是使效率得到更高,空间利用要精简。VC6标准分配器之实现BC5标准分配器实现

2020-04-13 17:24:48 261

Makefile.config

无权限安装caffe跑ssd网络makefile.config配置文件.

2019-11-20

DirectShow开发指南源代码

DirectShow开发指南源代码

2018-08-29

chm软件使用教程

chm软件使用教程

2018-08-29

python基础语法

python基础语法

2018-08-29

exe打包软件

exe打包软件

2018-08-29

git软件 

Git软件 Git-2.18.0-64-bit软件.exe

2018-08-29

git使用流程

git使用教程,简单通俗易懂,直接复制即可使用 使用gitlab操作备份提交本地工程

2018-08-18

Python基础01-03总结

Python基础 1. 软件安装(Notepad++、Pycharm(后续再用,开始先用notepad++)) 2. 第一个hello world程序 print("HelloWorld!")#打印hello world 注:命名规则: 1. 字母数字下划线组成 2. 不能以数字开头,不能含有特殊字符和空格 3. 不能以保留字命名 4. 不能以中文命名 三级菜单、字符编码 文件操作

2018-01-07

安卓实战-计算器项目

具体步骤看我发的安卓实战-计算器博客。

2017-04-22

JS学习基础入门

JS学习基础源代码,建议大家跟着源代码敲一遍。里面有几个开源项目很有用。

2017-04-12

CSS基础代码

本人学习CSS敲的代码,里面有详细的注释,推荐初学者学习!有啥不懂的可以私信我!

2017-03-27

HTML学习源代码

该文件为HTML基础代码,里面有详细的注释。适合初学者下载学习。本着资源共享的原则,免费给大家下载

2017-03-27

手机与平板兼容--利用碎片充分利用平板空间

手机与平板兼容--利用碎片充分利用平板空间

2017-03-21

蓝牙小车APP

编写了一个蓝牙APP,与单片机通讯,实现蓝牙搜索,控制小车前后左右行走等功能

2017-03-14

基于单片机的无线断电排插的设计PPT

设计了一款基于51 单片机控制的智能排插。使其在解放双手的同时,保证用电安全。它不仅可以参与到平常生活中智能家居的设计,拥有脱机定时等功能。还可以应用到工厂生产领域,解决机器的电路接通以及敏感地区的用电安全问题。顺应节能减排、环保的时代潮流,赋予传统家电以遥控、定时开关、无待机功耗和温度检测等功能,从而实现旧家电的节能减排和智能化目的。

2017-02-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除