- 博客(14)
- 收藏
- 关注
原创 解决树莓派 /lib/modules/*/ 没有build文件夹 安装linux_headers
使用树莓派学习linux驱动编写时,需要在/lib/moudles/*/ 目录下有build文件夹,但是由于原生的系统是不带有这个的,这时只需要安装linux_headers即可。但是,树莓派下的linux_headers安装于其他平台不同,需要使用如下命令安装sudo apt install raspberrypi-kernel-headers安装完成后再编译驱动程序就没有问题了。...
2020-07-16 20:57:20
4989
4
原创 Leetcode 96.不同的二叉搜索树
思路本问题属于动态规划问题。用f(n)f(n)f(n)表示nnn个数字时,可以组成二叉搜索树的目数。任取iii满足0<i≤n0{\lt}i{\le}n0<i≤n作为根节点,则其左子树有i−1i-1i−1个节点,有子树有n−in-in−i个节点。即分别有f(i−1)f(i-1)f(i−1),f(n−i)f(n-i)f(n−i)种组合。那么iii作为根节点的二叉搜索树的组合共有f(i−1)⋅f(n−i)f(i-1){\cdot}f(n-i)f(i−1)⋅f(n−i)种。这样,我们就得出了递
2020-07-15 20:40:02
201
原创 Leetcode 最长回文子串
采用动态规划的方法。使用二维数组dp[i,j]表示字符串从i到j为回文串,则状态转移方程为:dp[i,j]={1,ifdp[i+1,j−1]==1ands[i]==s[j]0,othersdp[i,j] = \begin{cases}1, if dp[i+1,j-1] == 1 and s[i] == s[j]\\0, others\end{cases}dp[i,j]={1,ifd...
2019-05-14 11:25:02
205
原创 LeetCode寻找两个有序数组的中位数
两个指针分别指向两个数组,每次比较后,小的右移。两个数记录当前长度的中位数。class Solution {public: double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { int i = 0, j = 0; int N1 = nums1.size(...
2019-05-14 10:41:05
291
原创 Leetcode无重复字符的最长子串
滑动窗口的思路 使用一个vector和两个指针来维护这个窗口。class Solution {public: int lengthOfLongestSubstring(string s) { int N = s.length(); int left = 0, right = 0; vector<char> result; size_t max = 0; for...
2019-05-14 09:25:28
167
原创 操作符重载
算术运算符重载#include <iostream>using namespace std;class Complex{ public: int real; int imag; Complex(int r, int i):real(r), imag(i){} Complex operat...
2019-03-20 17:38:30
179
原创 C++构造函数
构造函数构造函数并不负责空间,它只是用来初始化成员变量.当用户没有定义构造函数时,编译常生成默认构造函数,默认构造函数不进行任何操作.一个类可以有多个构造函数.多个构造函数之间成重载关系.#include <iostream>using namespace std;class Sample{ int x; public: Sample(...
2019-03-19 21:07:53
249
原创 C++ 引用 const new
引用引用相当于变量的别名,初始化之后不能修改引用的对象.引用作为函数的返回值#include <iostream>using namespace std;int n = 4;int & setValue(){ return n;}int main(){ setValue() = 40; // 相当于n = 40 cout<&...
2019-03-19 19:48:18
622
原创 移动平均过程MA
q阶移动平均过程 MA(q)Xt=μ+∑i=0qθiεt−i X_t = \mu + \sum_{i=0}^q \theta _i\varepsilon _{t-i}Xt=μ+i=0∑qθiεt−i其中 θ0\theta _0θ0恒等于1,εt\varepsilon _{t}εt为白噪声序列。μ\muμ和{θ1,θ2,...θ1}\{\theta _1, \theta _2, .....
2019-01-12 22:40:18
3444
原创 《剑指Offer》计算斐波那契数列的第n项
斐波那契数列的定义为:f(n)={0,if n = 01,if n = 1f(n−1)+f(n−2)if n &gt; 1 f(n) = \begin{cases} 0, &amp; \text{if $n$ = 0} \\ 1, &amp...
2019-01-09 22:58:30
417
1
原创 《剑指Offer》打印二叉树和为某一值的路径
打印二叉树的路径与二叉树的前序遍历相似, 因为遍历的顺序都是根节点-&gt;左子树-&gt;右子树。不同的是打印路径时需要保存之前遍历过的节点,我们使用一个栈来保存遍历过得节点,在遍历右子树之前,将左子树出栈。下面是C++的代码:class Solution {public: vector&lt;vector&lt;int&gt; &gt; FindPath(TreeNode* root,...
2019-01-08 20:30:35
240
原创 机器学习中的信息论
熵和信息量假设我们有一组离散的符号集{v1,v2,...vm}{v1,v2,...vm}\lbrace v_1,v2,...v_m \rbrace,每个符号具有相应的出现概率PiPiP_i。为了衡量这组符号组成序列的随机性,定义离散分布的熵为: H=−∑i=1mPilog2PiH=−∑i=1mPilog2PiH = -\sum_{i=1}^{m}P_i\,log_2P_i 其中定义0log...
2018-07-23 20:56:26
661
原创 贝叶斯决策论(二)
上一节中,我们使用了鲑鱼和鲈鱼的例子直观的感受了贝叶斯决策的过程。这一节中,我们更一般化的讨论这个问题。 引入以下四个条件来一般化这个问题:允许使用多于一个的特征允许多于两种类别的模型允许有其他行为而不仅仅是判定类别通过引入一个更一般的损失函数来替代误差概率多于一个的特征在上一节使用单个特征时,我们使用xxx来表示这个特征,现在当我们使用多于一个特征时,只需要将特征标量...
2018-07-21 10:45:43
549
原创 贝叶斯决策论(一)
概率概率表示为一个0到1之间的数字,用来表达一个事件发生的可信程度。引用一个《模式识别》中的例子来解释利用概率决策的过程。假设我们现在需要一个分类器来分开两种鱼(鲈鱼和鲑鱼)。使用www来表示当前沿传送带送过来鱼的类别,当w=w1w=w1w = w_1时,表示鲈鱼,当w=w2w=w2w = w_2时,表示鲑鱼。由于www的状态未知,所以可以用概率描述www的状态。如果假设只有这两种...
2018-07-04 23:01:08
1911
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人