自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (2)
  • 收藏
  • 关注

原创 STM32 时钟设置

时钟设置时钟树介绍有以下三种时钟可以作为系统时钟(SYSCLK):HSI 振荡器时钟HSE 振荡器时钟PLL 时钟时钟树如下:OSC_OUT 和 OSC_IN 为外部晶振的接口,为 HSE(高速) 提供振荡源,接 4 -16 MHz 的晶振;OSC32_OUT 和 OSC32_IN 为外部晶振的接口,为 LSE(低速) 提供振荡源,接 32.768 kHz 的晶振。其...

2019-12-15 21:08:18 526

原创 红黑树

红黑树从 234 树 到 红黑树:https://blog.csdn.net/asdfsadfasdfsa/article/details/86500552定义2-3-4 树和红黑树是完全等价的,由于绝大多数编程语言直接实现2-3-4树会非常繁琐,所以一般是通过实现红黑树来实现替代2-3-4树,而红黑树本也同样保证在O(lgn)的时间内完成查找、插入和删除操作。红黑树是每个节点都带有颜色属...

2019-12-03 16:48:25 6940 3

原创 STM32 的位带操作理解

位带操作 为什么要用位带操作?32位处理器一次能处理4个字节即32位,不能直接对位操作,而我们需要更方便、更快捷、更安全的设置或读取地址中的内容。 什么是位带操作?地址空间的有一个 512MB 范围由片上外设(的寄存器)使用。这个区通过系统总线来访问。在这个区的下部,有一个 1MB 的区间,被称为“位带区”。该位带区还有一个对应的、 32MB 的“位带别名(alias)区”,容纳了...

2019-12-03 16:22:45 2813

原创 verilog HDL 的环境搭建

环境搭建安装Icarus Verilog 和 GTKwave由于Icarus Verilog中已经包含了GTKWave所以直接从http://bleyer.org/icarus/下载安装,这里提供的为Windows版,我下载的为当前时间最新版:iverilog-10.1.1-x64_setup.exe,整个安装包才9.77MB,安装后也只有不到50MB。经测试,其实安装后只要把安装所在目...

2019-10-24 15:44:17 3472

原创 BaiduPCS-Go 下载百度云资源的相关问题

BaiduPCS-Go 为开源项目,仿 Linux shell 文件处理命令的百度网盘命令行客户端:https://github.com/iikira/BaiduPCS-Go下载可在项目地址下载,也可以在下面的地址下载:链接:https://eyun.baidu.com/s/3htYoJIk 密码:laod使用下载完毕后可以存放到任何位置,建议存放到无中文目录内。...

2019-05-14 12:52:14 3541

原创 flamingo 项目搭建问题处理

项目地址:https://github.com/baloonwj/flamingo#dev-tools-dependenciesCentos 6 安装 Mysql首先查看下你服务器,检查是否已经安装了mysql 命令:yum list installed | grep mysql若是已有安装的,那么会出来安装好的列表,否则为空,若发现有自带的mysql,移除命令:...

2019-04-12 16:36:50 1283

原创 二叉树的线索化

/*Tree: A B C D E F G H I 前序遍历:ABDGHCEIF前序输入:ABDG##H###CEI###F## */#include <iostream>#include <queue>#include <stack>using namespace...

2019-03-06 19:26:02 176

原创 二叉树的遍历

二叉树的遍历有前序、中序、后序以及层序遍历。相关原理可参考下面的博客:https://blog.csdn.net/monster_ii/article/details/82115772https://blog.csdn.net/qq_29542611/article/details/79372678我在此在总结一下:先序遍历: 递归到二叉树的最左子树,然后以 顶点--&gt...

2019-03-05 10:07:58 99

原创 简单使用 git 管理代码

参考文章:https://my.oschina.net/bxxfighting/blog/378196

2019-03-04 19:04:28 131

原创 C++ ---- 类的构造函数与析构函数

构造函数每个类都分别定义了它的对象被初始化的方式,类通过一个或几个特殊成员函数来控制其对象的初始化过程,这些函数叫做构造函数。构造函数的任务是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。构造函数是特殊的成员函数,用来保证每个对象的数据成员具有合适的初始值。构造函数名字与类名相同,不能指定返回类型(也不能定义返回类型为void),可以有0-n个形参。在创建类的对...

2018-12-11 20:59:00 1024

原创 Leetcode ---- 397. 整数替换

题目:给定一个正整数 n,你可以做如下操作:1. 如果 n 是偶数,则用 n / 2替换 n。2. 如果 n 是奇数,则可以用 n + 1或n - 1替换 n。n 变为 1 所需的最小替换次数是多少?示例 1:输入:8输出:3解释:8 -> 4 -> 2 -> 1示例 2:输入:7输出:4解释:7 -> 8 -&g...

2018-12-07 10:39:35 355

原创 Leetcode ---- 477. 汉明距离总和

题目:两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4...

2018-12-07 10:18:35 298

原创 C++ ---- 类初涉

什么是类?类的基本思想是数据抽象和封装。数据抽象是一种依赖于接口和实现分离的编程(以及设计)技术。类的接口包括用户所能执行的操作;类的实现则包括类的数据成员、负责接口实现的函数体以及定义类所需的各种私有函数。封装实现了类的接口和实现的分离。封装后的类隐藏了它的实现细节,也就是说,类的用户只能使用接口而无法访问实现部分。类要想实现数据抽象和封装,需要首先定义一个抽象数据类型。在抽象数...

2018-12-06 16:30:21 184

原创 Leetcode ---- 306. 累加数

题目:累加数是一个字符串,组成它的数字可以形成累加序列。一个有效的累加序列必须至少包含 3 个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。给定一个只包含数字 '0'-'9' 的字符串,编写一个算法来判断给定输入是否是累加数。说明: 累加序列里的数不会以 0 开头,所以不会出现 1, 2, 03 或者 1, 02, 3 的情况。示例 1:输入: ...

2018-11-29 11:01:34 326

原创 Leetcode ---- 组合总和

题目:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1:输入: candidates = [2,3,6,7], target = 7,...

2018-11-29 10:37:41 158

原创 Leetcode ---- 46. 全排列

题目:给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]思路:该题采用回溯的方法。将问题简化,即得到两个元素的全排列。那么就将两个元素交换位置,推入栈中,再回溯。由此,我们就可以写出递归公式。程...

2018-11-29 09:51:42 134

原创 Leetcode ---- 78. 子集

题目:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],  [1],  [2],  [1,2,3],  [1,3],  [2,3],  [1,2],  []]思路:对于这道题,有两个思路。第一个就是用 dfs 。逐个推入栈直到边界...

2018-11-29 09:10:08 129

原创 Leetcode ---- 77. 组合

题目:给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]思路:看到该题的第一个反应就是用 n 个 for 循环,得到所有包含 k 个数的解,再去重。然而时间复杂度太高,我们需要采用相对...

2018-11-28 21:56:08 124

原创 Leetcode ---- 22. 括号生成

题目:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]思路:题目要我们输出特定对数的所有括号组合。将该问题分为两个小问题:1. 正确的输出肯定从左括号开始。则先输入左...

2018-11-28 21:44:42 113

原创 回溯算法初涉

什么是回溯算法?回溯算法也是深度搜索算法(DFS),也是递归。回溯算法是最基本的暴力解决算法,可以很好的解决大多数问题,由此我们需要掌握它。 递归有两点要素:1. 递归边界。2. 递归的逻辑——递归"公式"。递归边界即是需要我们自己寻找的程序出口,这是递归的终点,它将返回子问题的解。递归公式则理解为对于问题的合理分解。即将一个大问题,合理的将之简化为子问题。也就...

2018-11-28 21:32:48 145

原创 Leetcode ---- 15.三数之和

题目:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]] 思...

2018-11-07 20:35:21 117 1

原创 Leetcode ---- 283.移动零

题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 思路:这道题思路很清晰, 遇零作擦除操作即可,后续再补零。 程序:class Solution {public...

2018-11-07 20:26:46 109

原创 Leetcode ---- 143.重排链表

题目:给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4-&gt...

2018-11-07 19:55:07 111

原创 Leetcode ---- 445.两数相加II

题目:给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> ...

2018-11-07 19:47:06 124

原创 Leetcode ---- 链表简单题

复习了一下链表。下面做了一些简单题。 237. 删除链表中的元素题目:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 -> 9示例 1:输入: head = [4,5,1,9], node = 5输出...

2018-10-28 17:57:06 134

原创 Leetcode ---- 162. 寻找峰值

题目:峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回...

2018-10-23 14:58:36 155

原创 python 制作淘宝秒杀脚本

1.  安装pycharm。网上教程很多。2.  安装 Selenium 库。Selenium支持很多浏览器,我选择的是Firefox浏览器。因为我这里是Python3环境,自带的又pip,所以安装selenium直接使用pip安装安装方法:--打开cmd;--输入命令进入Python36/Scripts(找到下图的目录)目录下;--输入命令 pip install s...

2018-10-23 13:33:33 49963 17

原创 Leetcode ---- 209. 长度最小的子数组

题目:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例: 输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log ...

2018-10-17 22:21:58 730

原创 C++ ---- IO库

 IO类C++的输入输出由标准库提供,标准库提供了一族类型,支持对控制窗口、文件和string对象等设备的读写。一方面,这些IO类型都定义了如何读写内置类型的的值,另一方面,用户在设计类时可以仿照IO标准库设施读写内置类型的方式设计自己的输入输出作。分别定义在三个独立的头文件中:iostream 定义了用于读写流的基本类型, fstream 定义了读写命名文件的类型, sstream 定义...

2018-10-16 22:03:36 214

原创 Leetcode ---- 88.合并两个有序数组

题目:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3n...

2018-10-16 22:03:09 135

原创 Leetcode ---- 实现strStr()

题目:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回  -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", ...

2018-10-16 21:55:14 101

原创 Leetcode ---- 68.文本左右对齐

题目:给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' ' 填充,使得每行恰好有 maxWidth 个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空...

2018-10-15 14:37:35 215

原创 Leetcode ---- 344.反转字符串

题目:编写一个函数,其作用是将输入的字符串反转过来。示例 1:输入: "hello"输出: "olleh"示例 2:输入: "A man, a plan, a canal: Panama"输出: "amanaP :lanac a ,nalp a ,nam A" 思路:这道题比较简单。直接建立一个新的string对象,反向输入即可。 程序:cl...

2018-10-14 17:10:07 96

原创 C++ ---- 顺序容器(三)

vector 对象是如何增长的 为了支持快速随机访问,vector 将元素连续存储——每个元素紧挨着前一个元素存储。 为了避免多次进行内存释放和分配,vector 和 string 的实现通常会分配比新的空间需求更大的内存空间,留以备用。 注意: shrink_to_fit 只是一个请求,标准库并不保证退还内存。程序如下:#include <iostream>...

2018-10-14 15:57:51 182

原创 C++ ---- 顺序容器(二)

2 顺序容器操作除了array外,所有标准库容器都提供灵活的内存管理。插入元素 注意:1. 其中 c.insert(p,b,e) 中,迭代器 b 和 e 不能指向c中元素。2. 向一个vector 或 string 添加元素可能引起整个对象存储空间的重新分配。(重新分配一个对象的存储空间需要分配新的内存,并将元素从旧的空间移动到新的空间中。)3. 元素容器是拷贝。将一...

2018-10-14 14:54:30 146

原创 Leetcode ---- 13.罗马数字转整数

题目:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个...

2018-10-13 21:23:59 131

原创 Leetcode ---- 12.整数转罗马数字

题目:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个...

2018-10-13 20:44:00 122

原创 C++ 顺序容器(一)

1 概述一个容器就是一些特定类型对象的集合。顺序容器为我们提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。其中,vector和string将元素保存在连续的内存空间中。下面解释上述的类型别名:const iterator 是iterator常量,iterator本身里面存的是指针,也就是iterator的值,也就是那个指针...

2018-10-13 19:37:07 149

原创 matlab 零碎

B = prod(A)将A矩阵不同维的元素的乘积返回到矩阵B。如果A是向量,prod(A)返回A向量的乘积。如果A是矩阵,prod(A)将A看作列向量,返回每一列元素的乘积并组成一个行向量B。fft2fft2函数用于数字图像的二维傅立叶变换,如:i=imread('e:\w01.tif');j=fft2(i);x0=-3:3;y0=-2:2;[x,y]=ndgrid(x0,y...

2018-10-13 14:16:28 193

原创 c++primer ---- 处理类型

类型别名类型别名是一个名字,它是某种类型的同义词。使用类型别名有很多好处,它让复杂的类型名字变得简单明了、易于理解和使用,还有助于程序员清楚地知道使用该类型的真实目的。有两种方法可用于定义类型别名:1. typedeftypedef double wages;     // wages是double的同义词typedef wages base,*p;   // base是do...

2018-10-07 22:15:15 176

python 运行文件及geckodriver

以上文件中含有python运行库和火狐的geckodriver驱动。使用方法链接:https://blog.csdn.net/hc372893308/article/details/83305136

2018-10-23

韦东山《嵌入式Linux应用开发完全手册》整理版

韦东山《嵌入式Linux应用开发完全手册》整理版 适合初学者学习

2018-03-03

空空如也

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

TA关注的人

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