自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 usb虚拟网卡

简单的说,物理网卡就是硬件,虚拟网卡是软件;详细点说,物理网卡就是安装在电脑主板上的有线或无线网卡,每块物理网卡都有不同的且唯一的物流地址(MAC地址);虚拟网卡,则是通过软件模拟网络环境,构建的虚拟网络适配器,一般是Microsoft Loopback Adapter,通过VPN技术实现虚拟网卡间的局域网通信。...

2021-04-09 10:53:03 742

原创 支持向量机SVM

目录SVM简介线性SVM算法原理非线性SVM算法原理SVM简介支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。SVM算法原理SVM学习的基本想法是求解能够正确划分训

2021-04-09 10:40:56 108

转载 踩内存

https://blog.51cto.com/qiaopeng688/2091842踩内存踩内存,总的来说,是访问了不应该访问的内存地址。尤其在C指针中。可以访问不合法的内存。1、访问越界数组int a[10];int *p = a;int c = p[11];//这时变量指针p指向的是一个非法内存。已经越界了。这是越界数组访问导致的踩内存。2、访问已经被free释放掉的内存char *a = (char *)malloc(sizeof(char) * 10);//申请内存char *

2021-04-09 10:29:34 731

原创 C语言开发学习-1

函数的可重入性一个函数在同时可重复调用可重入的函数必须满足以下三个条件:(1)可以在执行的过程中可以被打断;(2)被打断之后,在该函数一次调用执行完之前,可以再次被调用(或进入,reentered)。(3)再次调用执行完之后,被打断的上次调用可以继续恢复执行,并正确执行。*** 可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)代码规范用宏定义

2021-03-11 20:45:38 66

原创 机器学习3:python管理工具pyenv

安装过程:pyenv的安装这个比较简单, 直接从git上拉取代码安装即可, 一般不会报错git clone git://github.com/yyuu/pyenv.git ~/.pyenvecho 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrcecho 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrcecho 'eval "$(pyenv init -)"' >&

2021-02-19 13:21:23 81

原创 arm-linux-阿里云SDK接入笔记2

```bash```c/lib/modules/4.1.15 # ./mqtt-example main|159 :: mqtt example establish tcp connection with server(host='g1uqs46Vt1T.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[1883]) success to establish tcp, fd=3> {> "id": "1",> "v.

2021-02-07 18:30:58 316

原创 linux-ubuntu学习6

ubuntu查找含有字符串的文件grep -rn “hello,world!” *

2021-02-01 15:57:36 51

原创 机器学习2:tensorflow

1、导入tensorflow,这将导入 TensorFlow 库,并允许使用其精彩的功能:import tensorflow as if2、由于要打印的信息是一个常量字符串,因此使用 tf.constant:message = tf.constant(‘Welcome to the exciting world of Deep Neural Networks!’)3、为了执行计算图,利用 with 语句定义 Session,并使用 run 来运行:with tf.Session() as sess

2021-02-01 10:36:09 68

原创 机器学习1:tensorflow安装、环境配置过程

1、下载到清华镜像下载Anaconda3-4.2.0-Windows-x86_64下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/2、安装下载的镜像注意添加path如果出错:conda命令不识别,则手动到系统环境变量中添加:然后重启cmd命令行,conda --version成功显示3、在命令行中使用以下命令创建 conda 环境conda create -n tensorflow python=3.5.2activ

2021-02-01 10:23:22 326 2

原创 arm-linux驱动开发学习7

input子系统开发:可以看出 input 子系统用到了驱动分层模型,我们编写驱动程序的时候只需要关注中间的驱动层、核心层和事件层,这三个层的分工如下: 硬件驱动层,子系统核心层,事件处理层。1、(1)其中硬件驱动层负责操作具体的硬件设备,这层的代码是针对具体的驱动程序的,需要驱动程序的作者来编写。输入设备的具体驱动程序,比如按键驱动程序,向内核层报告输入内容。(2)子系统核心层是链接其他两个层之间的纽带与桥梁,向下提供驱动层的接口,向上提供事件处理层的接口。承上启下,为驱动层提供输入设备注册和

2021-01-23 09:23:04 189

原创 arm-linux驱动开发学习6

驱动开发编译方式静态编译–>将驱动源码放到kernel内核源码所对应的文件夹下面–>修改kconfig配置–>修改Makefile–>make menuconfig配置图形界面–>生成zimage镜像文件动态编译:–>将驱动文件编译成.ko文件–>将test.ko文件拷贝到/lib/module/4.1.15/目录下–>depmod(会在/lib/modules/#4.1.15#/目录下生成modules.dep和modules.dep.

2021-01-19 13:34:09 102

原创 linux-ubuntu学习6

查找某个字符串:miya@ubuntu:~/linux/alientek_linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$grep -s “MX6UL_PAD_UART2_RX_DATA__ECSPI3_SCLK” ./ -r

2021-01-17 10:11:32 72

原创 arm-linux驱动开发学习5

串口通信:只要是使用串口通信,不论是TTL还是232、485,其驱动程序都是一样的,通过外接RS485芯片即可将串口转换为RS485信号。本节用的是串口3,串口驱动框架为:1、uart_driver 注册与注销每个串口驱动都需要定义一个 uart_driver,加载驱动的时候通过 uart_register_driver 函数向系统注册这个 uart_driver,此函数原型如下:int uart_register_driver(struct uart_driver *drv)注销驱动的时候也需

2021-01-17 08:51:16 127

原创 arm-linux驱动开发学习4

添加串口驱动的步骤:1、UART3 IO 节点创建UART3 用到了 UART3_TXD 和 UART3_RXD 这两个 IO,因此要先在 iomuxc 中创建 UART3对应的 pinctrl 子节点,在 iomuxc 中添加如下内容:示例代码 63.4.1 UART3 引脚 pinctrl 节点1 pinctrl_uart3: uart3grp { 2 fsl,pins = < 3 MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX 0X1b0b14 MX6

2021-01-15 13:54:28 151

原创 linux-ubuntu学习5

已经出现了两次1、首先用df−a查看空间使用情况2、df -a查看空间使用情况2、df−a查看空间使用情况2、 sudo du -sh * 查看每个文件夹所占空间该删的删掉

2021-01-15 09:04:32 79

原创 leetcode1018. 可被 5 整除的二进制前缀

就很…想了无数种办法这是最简单的,大神的思路:class Solution {public: vector<bool> prefixesDivBy5(vector<int>& A) { vector<bool> res; int num = 0; for(int i=0;i< A.size();i++) { num = ((num << 1) + A[i]) % 5; res.

2021-01-14 23:33:31 59

原创 面试题1--sizeof与strlen

sizeof计算的是空间大小,strlen计算的是长度s = sizeof(a)/sizeof(int);

2021-01-14 23:29:26 162

原创 leetcode:判断链表有环

快慢指针:如果两个指针相遇,那么一定是在环内相遇,因为p一次移动一格,q一次移动两格,相当于q是以每次一格的相对位移来追p,所以一定会相遇。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:

2021-01-14 11:02:51 92

原创 leetcode:对链表进行插入排序

插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5思路:1、新建一个头结点2、新建两个p

2021-01-13 21:24:35 60

原创 leetcode:二叉搜索树与双向链表

题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。解题思路:把二叉树想象成上图所示的样子,此题采用中序遍历可以很方便地

2021-01-13 20:21:30 93

原创 leetcode:合并两个排序的链表

合并两个排序的链表:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路:1、第一个加入空的头结点2、将第二个L2和第一个的L1进行比较,[pre,L1],如果小于L1就插入这中间,且pre+1;如果大于L1,则递推[pre,L1],全部+1;3、如果L1已经找完了都没找到大于L2的数据,此时L1先退出,则将第一个的尾结点指向这

2021-01-13 16:31:39 210

原创 leetcode:剑指 Offer 06. 从尾到头打印链表

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]思路:反转链表代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution

2021-01-13 13:42:44 51

原创 leetcode:剑指 Offer 18. 删除链表的节点

给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-dian-lcof著作权归领扣网络所有

2021-01-13 12:37:12 47

原创 leetcode算法题:复杂链表的复制

题目:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例 1:输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]题解:假设原结点为A-B-C-D-E复制后的结点为A’-B’-C’-D’-E’一共分为三个步骤1、复制每个结点,而

2021-01-12 20:04:14 109

原创 arm-linux-阿里云SDK接入笔记1

1、Link SDK3.0.1下载https://help.aliyun.com/document_detail/96575.html?spm=a2c4g.11186623.3.3.f0f5316fIICtGM2、根据高级系统集成SDK移植步骤生成libiot_sdk.a和libiot_tls.ahttps://helpcdn.aliyun.com/document_detail/97566.html?spm=a2c4g.11186623.6.614.50d479b7RZgb3C3、移植ubun

2021-01-11 14:14:56 338

原创 arm-linux驱动开发学习3

wifi驱动启动之后,扫描附近热点信息,在开发板根文件系统目录/etc下配置wpa_supplicant.conf文件,写入要连接的WiFi名称及密码。但是在连接上路由器之后,通过udhcpc -i wlan0获取ip地址,无法保存获取到的ip(ifconfig wlan0)。分析了两天,这里的bug太多了:1、wpa_supplicant.config配置文件内容必须手写,且标点符号,- _两个要明确区分。反复检查2、wifi的模块是USB RTL型号,使用的驱动是8192cu.ko3、(最大的

2021-01-06 17:05:25 130

原创 redmine项目管理软件使用心得

redmine支持的功能很强大,使用方法如下:1、在https://bitnami.com/stack/redmine/installer网站下载bitnami的redmine软件2、我用的是ubuntu系统,下载好之后安装,默认安装地址为:/home/miya/redmine-4.1.1-63、启动方法如下:控制台进入安装目录,运行.run程序,直接manager-linux-x64.run之后用管理员身份新建用户,用户组,角色等,网上资料很多4、最关键的是多用户访问,选择管理->配置-&

2021-01-05 10:38:29 516

原创 arm-linux驱动开发学习2

wifi模块始终无法加载成功,USB wifi插上之后,始终无法显示wifi网络信息:/lib/modules/4.1.15 # ifconfig -aeth0 Link encap:Ethernet HWaddr 00:04:9F:04:D2:35 inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::204:9fff:fe04:d235

2021-01-04 15:44:20 156

原创 算法题:求字符串s最少去掉几个字符可以使得p字符串是s的字串

思路:假设s: axbaxpouub p: ab将temps定义为每次在s中与p中首字母相等的下标+1;temp为在s中查找出一个与p中相同元素时的s下标+1;pos为每次在s中查找出p的元素下标(下一个元素)。temp为temps的内循环,外循环更新temps。最主要的是指针的思想和strchr(char *p,char c)函数的使用,此函数需要添加头文件string.h作用是在字符串p中查找字符c,如果找到则返回p中c的下标,如果找不到则返回NULL#include <stri

2021-01-03 22:45:57 1964

原创 arm-linux驱动开发学习1

1、进程并发的原子操作:执行./atomicApp /dev/gpioled 1 &./atomicApp /dev/gpioled 1发现结果是:./atomicApp /dev/gpioled 1 &/lib/modules/4.1.15 # ./atomicApApp running times:1 /lib/modules/4.1.15 # ./atomicApp /dev/gpioled 1App running times:2 App running times

2021-01-02 16:13:07 60

原创 linux kernel开发学习2

经常出现linux内核编译中止,无法生成zImage镜像文件出现原可能有:1、defconfig文件配置2、dtbs设备树文件配置3、./sh脚本文件链接语法错误,nand版本的最好是:-12,emmc版本是 -j16 表示最大允许的并行执行make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j124、makefile文件添加dtb \ 文件,子dtbs文件下的makefile...

2021-01-02 10:28:46 429

原创 Mysql语句大全

1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server— 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backup\MyNwind_1.dat’— 开始 备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table

2021-01-01 14:14:56 169

原创 redmine-Mysql5.6操作出错-2

新建一个数据库: -> create database redmine character set utf8;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create database redmine character set

2021-01-01 14:04:02 83

原创 redmine-Mysql5.6操作出错-1

我想进入mysql新建一个数据库,出现错误:C:\Program Files\MySQL\MySQL Server 5.6\bin>Mysql -u root -pEnter password: ****ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)说明密码错误,在mysql安装目录下的my.ini文件下新加一行,跳过密码验证环节:![在这里插入图片描述](http

2021-01-01 13:58:30 82

原创 linux kernel开发学习1

linux cortex-A7 imx6ull 内核编译出错:devtmpfs: mountedFreeing unused kernel memory: 400K (8090a000 - 8096e000)Bad inittab entry at line 1Bad inittab entry at line 8can't open /dev/ : No such file or directorycan't open /dev/ console: No such file or direct

2020-12-30 16:46:25 278

原创 算法题:求数列中的和最大的连续子序列

动态规划:dp[i]转移方程定义为以i为结尾的连续子序列的和#include <iostream>using namespace std;int main(){ int n; cin >> n; int a[100]; for(int i = 0;i < n;i++) cin >> a[i]; int dp[100] = {a[0]}; for(int i = 1;i < n;i++)

2020-12-26 12:02:50 227

原创 算法题:求二进制1的个数

* 1100&1011 = 1000 * 再让count++即可计算出有多少个1 * @author skyace *class Solution {public: int NumberOf1(int n) { int number = 0; while(n) { n &= (n-1); number++; } return .

2020-12-26 09:24:57 68

原创 leetcode 算法题 最长递增子序列(LIS)

求一个序列的最长递增子序列,这样的子序列是允许中间越过一些字符的,即留“空”。例如:4 2 3 1 5 的最长递增子序列为 2 3 5,长度为 3 。参考大神的思路,动态规划以i为结尾的最长递增子序列长度,最后找个最大值参考链接:https://blog.csdn.net/qq_41765114/article/details/88415541C++代码实现:#include <iostream>using namespace std;int main(){ int n;

2020-12-25 13:00:12 248

原创 leetcode算法题 求数列最长连续不重复子序列 C++

求数列最长连续不重复子序列 C++:思路:1、取窗口的开始位置为start2、取滑动窗口从[start,i-1)3、i在for循环中一直递加,并每次都和窗口中的字符a[j],start<=j<i进行比较,判断arr[j]==arr[i]一旦遇到当前字符在之前的滑动窗口中存在,那么当前窗口的最长无重复子串的长度为 i-pre,同时更新下一个滑动窗口的起始位置为 start = j+14、需要注意的是最后一个字符的处理,当最后一个字符不与滑动窗口中的值重复时,得不出此项字串长度,因此需

2020-12-25 12:57:09 648

原创 linux-ubuntu学习4

主线程与子线程的优先级## 标题一般情况下,主线程总是优于子线程的执行,我们看一下下面的情况:package com.yzh.job.test;public class Thread2 { public static void main(String[] args) { Thread t1 = new Thread(new Runnable(){ @Override public void run() { for(int i = 0;i<2;i++){ Sys

2020-11-04 16:37:29 48

空空如也

空空如也

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

TA关注的人

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