自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(215)
  • 资源 (7)
  • 收藏
  • 关注

原创 【ROS】机器人学习资源,视频,书籍,博客,教程等 (全面、免费)

这篇博客主要是分享我目前涉及到的一些关于ROS机器人学习方面的资源,因为本人也是极其新手。所以资源方面可能不全面,但是这个博客会置顶,以后有资源了,就更新一下官网链接:学习ROS,必须入门的教程,就是官网的教程:创客智造:这是它的首页截图:这个是我目前发现的最全面的,关于ROS的教程,全中文,甚至比ROS官网上的教程部分还要全面,因为它包括了ROS入门教程系列,把官网给翻译下来了,甚至还做了补充这里面包含了好多类型机器人教程,包括视频,代码等资料里面有很多知名的ROS系列的书籍,全部免费,

2020-06-30 22:15:23 740

原创 良心网站积累【实时更新】未完待续~

前端:绿叶学习网 (学习前端)Bootstrap中文网 (提供前端,各种 插件 及 各种类型JS下载 和 使用文档 )layUI 经典模块化框架 (提供前端模块化插件,插件案例效果美观)H-ui 前端框架 (提供前端模块化插件,插件案例效果美观)jQuery插件库(提供jQuery的网络地址,各种版本下载,jQuery教程手册、在线代码编辑、文本比较、模板(特效)下载)layer官方文...

2019-01-28 17:47:20 392

原创 【 Python 】Python中的小细节

一、python中的变量作用域python中的变量作用域只有class,def(lambda),model 会引入新的变量作用域。if-else \ for \ while \ try-except 均不会形成新的变量作用域,也就是在这些块中定义的变量,并不会独属于这个块,而是会放到这个块的父级中,如果父级还是这些块,则继续向上找,直到class,def,model为止并且还有一个比较特色的一点:def fun(): def h(): print(id(k)) h()

2021-12-20 13:43:26 895

原创 【 leetcode Top 100】64. 最小路径和

题目:思路:思路很简单,只要涉及到状态的,无非就那么几种方法:深搜,广搜,动态规划。这里求最小值,用动态规划最好,时间最低如果用深搜广搜则会超时,在这道题目中深搜广搜的复杂度都是一样的。也就是会枚举所有到达终点的状态,如果需要剪枝操作,也是维护一个当前最小cost的数组,当大于这个cost的时候,就丢弃当前状态。如果不使用剪枝,是超时的,使用了剪枝才将将AC。运行结果:代码:动态规划,还是状态转移问题,动态规划最好的一点是,状态数组里面保存的始终是最优的,这样下次转移的时候也是最优的。一直

2021-09-23 19:34:43 506 1

原创 【 leetcode Top 100】62. 不同路径

题目:思路:思路有俩:一个是动态规划,一个是数学直接算数学:可以根据m,n直接算出来,需要走多少步向右,走多少步向左,然后就是有多少种组合的问题。动态规划:动态规划的思想比较简单,因为动态规划问题,就是状态的转移问题,考虑当前状态,当前状态表示,走到当前表格需要走的步数,而当前状态依赖于之前的状态,当前状态可以由左面的格子 + 上面的格子得出。动态规划问题,只需要考虑两个方面:状态的转移,状态数组的初始化。数学解法:class Solution {public: int uni

2021-09-23 18:29:51 301 1

原创 【 leetcode Top 100】56. 合并区间

题目:思路:这个思路,就是排序,然后排序后合并,很简单的思路,但是之所以写这篇博客,是因为发现了sort用户自定义函数的局限,小数据量的时候,可以运行,但是当大数据量的时候,它报错,,,不知道为什么。然后还有一点,就是带入用户自定义函数的时候,要将cmp声明为static函数,或者写在类外,不能作为成员函数出现,因为成员函数有一个隐式的this指针,这与sort中的cmp参数不匹配,会报错。正确的代码:因为sort默认就是字典序升序排序class Solution {public: v

2021-09-23 17:46:05 137

原创 【 leetcode Top 100】55. 跳跃游戏

题目:代码:class Solution {public: bool canJump(vector<int>& nums) { if(nums.size()<=0)return false; int index = 0; for(int i=0;i<nums.size();i++){ if(index < i) return false; if(index &

2021-09-23 17:26:34 97

原创 【 leetcode Top 100】32. 最长有效括号

题目代码:class Solution {public: stack<int> stk; int longestValidParentheses(string s) { if(s.size()==0)return 0; int Max = 0; for(int i=0;i<s.size();i++){ switch(s[i]){ case '(':

2021-09-14 18:19:35 113

原创 【 leetcode Top 100】22. 括号生成

题目:思想:这个思想还是类似于递归的思想,但是这个递归的思想很不好想,在递归状态的时候,不是每次递归都可以填写多个“(” ,如果是可以填写多个的话,就会造成很多次的状态重复。总之这样想就太麻烦了,如果每次递归都可以填写多个“(”,那么按理来说它也可以填写多个“)”,最后再一组合情况,就需要二重循环了,那就太麻烦了,并且递归过程中重复状态就太多了。最简单的情况就是每个递归只管一个“(” 或 “)”的添加与否,这样反而会减少递归次数,并且思路也更加简单。注意:注意,当前状态的字符串,“)”的个数一定

2021-09-11 15:16:19 103

原创 【 leetcode Top 100】19. 删除链表的倒数第 N 个结点

题目:思想:两次遍历:第一次遍历得到总长度,第二次遍历删除节点递归:递归到链表最后,等回退的时候,删除节点双指针:一次遍历,O(2n),推荐注意:本题中需要注意的点,就是一个删除的节点是第一个节点的时候,需要额外判断一下。递归:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), n

2021-09-11 13:15:36 94

原创 【string 与 char】C++ 中string与char

C++中string类的定义如下:/// A string of @c chartypedef basic_string<char> string; 对于C++来说,string类型的每个元素都是char类型,如:string a = "xyz";char c = a[0];两个字面量的字符串是不能相加的string a = "x" + "y";错误 error: invalid operands of types 'const char [2]' and 'co

2021-09-10 22:17:00 3794

原创 【 leetcode Top 100】17. 电话号码的字母组合

题目:这个题目有两个思想:循环与递归我首推递归思想,简单明了。递归的思想:递归的思想就是一次成完整的串,成完整的串之后,加入res,然后递归回溯,再构成其他的串。主要还是循环和递归地结合,核心是一次就得到最终结果的一部分。class Solution {public: void dfs(vector<string>& res, string& digits,int index, string tmp_s,

2021-09-10 21:21:05 84

原创 【 leetcode Top 100】11. 盛最多水的容器

题目:这道题,说实话,打死我,我也想不到双指针做法,我只是觉得双for,肯定会超时,肯定有简单做法,但是万万没想到啊,还有这种操作。代码:class Solution {public: int maxArea(vector<int>& height) { int i=0;int j=height.size()-1; int maxA = 0; while(i<j){ maxA=max(maxA

2021-09-04 17:21:58 137

原创 【 win10多用户登录 】win10环境下实现非企业版多用户登录

前言我看网上说,像win10家庭版,win10专业版都是不具备多用户登录功能的,如果需要多用户登录,就需要破解,幸运的是,这个破解在GitHub上很火爆。。。一、准备下载 rdpwarp:https://github.com/stascorp/rdpwrap/releases/tag/v1.6.2【这个rdp版本是最新的版本,最近更新时间在2017年,之所以是2017年,是因为它的配置和核心代码分开了,后续如果需要支持新的系统版本的话,只需要更新一下最新的配置文件就可以了】下载rdpwrap.in

2021-08-23 16:23:38 4013 2

原创 【 Linux 网络编程 】Linux 下 select 的使用

一、相关函数NAME select, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - synchronous I/O multiplexingSYNOPSIS /* According to POSIX.1-2001, POSIX.1-2008 */ #include <sys/select.h> /* According to earlier standards */ #include &lt

2021-08-20 20:53:59 1362

原创 【 本地 Git 私有云 】基于Gogs的本地私有云的搭建

前言本地配置:

2021-08-18 18:01:06 557

原创 【 Typora 】Typora 使用 gitee 作为图床

前言前两天发现一个很好用的markdown的编辑器,叫 Typora,下载下来后,使用起来确实很顺手,尤其顺手的一点是支持图片复制粘贴,而不用像之前其他的markdown编辑器那样,还得自己写链接,那样的话,太麻烦了。后来,虽然可以复制图片,但是图片还是在本地,为了解决这个问题,使用了Typora提供的上传图片的功能。一、配置 gitee说一下为什么使用gitee,因为gitee是国产的,国产的网速快啊,上传图片快,并且上传后,在本地预览也快啊,Typora上还有其他的,像什么SM.MS,GitHub

2021-08-05 12:24:30 1455 1

原创 【 付费域名 】付费域名与服务器绑定

前言上一篇博客说了如何获得免费域名,但是这个免费域名不能备案,就爽一下就没了。所以我就忍痛花了8元钱,买了一个付费域名。一、域名购买域名购买我是从阿里云购买的,网址是:https://wanwang.aliyun.com/这个域名买起来,可就很麻烦了,需要很多个人信息,关键是还掏钱,,,二、云解析DNS这个云解析DNS和之前的那个DNSPOD是一样的,都是用来解析DNS的,配置方法都差不多。地址:https://dns.console.aliyun.com同样的都是添加域名,添加记录啥的。

2021-07-28 21:05:02 214

原创 【 免费域名 】免费域名与阿里云服务器绑定

前言:我一年前买了一个阿里云服务器,但是没有域名,也是穷,舍不得买了,今天看到有免费域名,顿时惊喜,所以就弄了一个免费域名,太刺激了,哈哈哈哈一、获取免费域名获取免费域名使用的是 freenom.com 网站,网站如下所示:这里有一个注意事项,就是要提前注册,不然是是用不了的,这就是这个网站坑人的一点了,新手会找不到注册在哪里,,,注册在这里,,,点击进去,一直拉到最下面:填入你的Email地址,(注意,这里还是用真实的国家城市地址啥的吧,至于名字啥的,瞎写吧)接下来就是一系列的注册操

2021-07-28 20:44:14 8071 9

原创 【 剑指offer 】JZ27 字符串的排列

思想:其实这个思想,我也不知道是不是动态规划的思想,因为,感觉这就是正常思维,保存当前字符之前的所有可能字符串,即当前字符为i,那么就要保存前i-1个字符形成的所有排列,然后将当前字符一次插入到这些排列中的每一个位置,然后形成新的排列。class Solution {public: vector<string> Permutation(string str) { vector<string> res; string tmp=""; .

2021-07-22 14:27:59 99

原创 【 剑指offer 】JZ46 child 们的游戏(圆圈中最后剩下的数)【垃圾CSDN,连child的中文名都不让说】

前言:这是一个约瑟夫环的问题,主要解决思想有两个,第一个是模拟过程,第二个是经典的解法。参考文档:约瑟夫环问题题目:题目如下:1. 傻瓜解法傻瓜解法就是模拟约瑟夫环的过程,因为约瑟夫环涉及到删除元素,故使用vector来实现。代码:class Solution {public: int LastRemaining_Solution(int n, int m) { if(n==0)return -1; vector<int> tmp(n)

2021-07-07 13:44:40 144 2

原创 【 剑指offer 】JZ40 数组中只出现一次的两个数字

class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型vector * @return int整型vector */ vector<int> FindNumsAppearOnce(vector<int>& array) { // write code..

2021-07-03 20:47:00 142

原创 【剑指offer】整数中1出现的次数

前言这道题目,我做了一个小时,说实话,挺简单的,但是我一开始没有悟透,全是自己想出来的,就很麻烦,从一开始的毫无头绪,到后来的悟透了,这个过程实在是太难了。。好了,如图所示,需要计算出一个十进制数中的1的个数,注意这是一个范围性概念,是从1~n中所有的数所包含的全部的1 。代码先贴一下代码吧,挺抽象的。class Solution {public: int NumberOf1Between1AndN_Solution(int n) { vector<int>

2021-06-28 00:26:18 137 1

原创 【 剑指Offer 】栈的压入,弹出序列

前言:关于算法这部分,我本来不想写博客,奈何这道题太经典了,是我曾经一直非常疑惑的问题。如今终于得到解决。题目:曾经我无数次疑惑,应该怎么判定一个序列是否是一个栈的弹出序列,如今终于悟了,核心就在于,当前元素是否是进栈后立即出栈, 如果进栈后立即出栈,那么就可以判断当前出栈元素的下一个元素是否是栈顶元素,如果是,则继续出栈。核心就是一个消消乐的思想,只要匹配了,就看栈里面是否还能弹出,有时候会弹出一大串元素,如果不匹配,就继续入栈堆下去,等待下一个匹配的元素。代码:class Solution

2021-06-03 23:03:48 132

原创 【 PID 算法 】PID 算法基础

前言:这两天打算找个实习,奈何感觉自己有点菜,所以,就补习了一下知识,说一下,这个PID算法吧。一、简介PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。也就是说,PID算法是结合这三种环节在一起的。粘一下百度百科中的东西吧。顾名思义,PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法,该控制算法出现于20世纪30至40年代,适用于对被控对象模型了解不清楚的场合。实际运行的经

2021-06-01 22:57:34 22615 7

原创 【 uC/OS II 】uC/OS II 源代码阅读(os_tmr.c)定时器管理

前言这个关于定时器的,我感觉也没啥,核心就是它的轮子罢了,然后核心结构体,如下:typedef struct os_tmr { INT8U OSTmrType; /* Should be set to OS_TMR_TYPE */ OS_TMR_CALLBACK OSTmrCallback; /* Function to call when timer expires

2021-05-27 21:57:36 460

原创 【 uC/OS II 】uC/OS II 源代码阅读(os_time.c)时间管理

前言这个我也不知道咋说,感觉很简单,但是有一点,就是那个计算ticks的过程,我没看太懂。。/*时间管理(已看)********************************************************************************************************** uC/OS-II*

2021-05-27 21:24:47 173

原创 【 uC/OS II 】uC/OS II 源代码阅读(os_task.c)任务管理

前言这个任务管理源代码,是整个系统最核心的部分,也是最难的部分,多看几遍吧。其中的核心结构体是:typedef struct os_tcb { OS_STK *OSTCBStkPtr; /* Pointer to current top of stack */#if OS_TASK_CREATE_EXT_EN > 0u void *OSTCBExtPtr;

2021-05-27 21:17:17 486

原创 【 uC/OS II 】uC/OS II 源代码阅读(os_sem.c)信号量

前言不说了,这个太简单了,没啥可说的,核心结构体还是这个:#if (OS_EVENT_EN) && (OS_MAX_EVENTS > 0u)typedef struct os_event { INT8U OSEventType; /* Type of event control block (see OS_EVENT_TYPE_xxxx) */ void *OSEventPtr;

2021-05-27 20:22:43 280

原创 【 uC/OS II 】uC/OS II 源代码阅读(os_q.c)消息队列

前言这个消息队列,其实也没啥,都很简单,都是增删改查,核心结构体如下:#if (OS_EVENT_EN) && (OS_MAX_EVENTS > 0u)typedef struct os_event { INT8U OSEventType; /* Type of event control block (see OS_EVENT_TYPE_xxxx) */ void *OSEventPtr;

2021-05-27 18:40:49 361

原创 【 uC/OS II 】uC/OS II 源代码阅读(os_mutex.c)互斥信号量

前言这个关于互斥信号量的代码,最核心的就是优先级反转。先说一下优先级反转吧。在创建互斥信号量的时候,需要传入反转的优先级,也就是当发生优先级反转的时候,将当前拥有信号量的任务的优先级提升为反转的优先级。优先级反转情景:假设有两个任务A,任务B,任务A的优先级小于任务B。此时A拥有互斥信号量,但是此时B来了,B的优先级高于A,但是因为B也需要互斥信号量,所以按照常理来说,B应该等待信号量,但是这是一个RTOS,本身就是基于优先级抢占的,所以此时为了缩短B的等待时间,需要B任务来主动的将A任务的优先级提

2021-05-27 18:18:15 350

原创 【 uC/OS II 】uC/OS II 源代码阅读(os_mem.c)内存管理

前言这个文件是关于内存管理的,非常简单,主要是二级指针与一级指针之间的转换。至于核心结构体如下:typedef struct os_mem { /* MEMORY CONTROL BLOCK */ void *OSMemAddr; /* Pointer to beginning of memory partition

2021-05-27 17:09:09 277 1

原创 【 uC/OS II 】uC/OS II 源代码阅读(os_mbox.c)消息邮箱

前言关于消息邮箱,是一个消息邮箱里面,只能存储一条消息。核心结构体如下:#if (OS_EVENT_EN) && (OS_MAX_EVENTS > 0u)typedef struct os_event { INT8U OSEventType; /* Type of event control block (see OS_EVENT_TYPE_xxxx) */ void *OSEventPtr;

2021-05-27 16:58:43 354

原创 【 uC/OS II 】uC/OS II 源代码阅读(os_flag.c)事件标志组

/*事件标志组(已看)********************************************************************************************************** uC/OS-II* The Real-Time Kernel*

2021-05-27 16:01:55 417

原创 【 Linux Makefile】Linux 中 Makefile 的简单使用

前言:这篇博客,本来我是打算写一个关于 FTP server 源代码实现的,这个FTP server是基于标准的文件传输协议的,通用客户端均可以连接这个自己写的 FTP server 。不过可惜了,我们亲爱的双双小姐姐不让写,她说这个源代码属于团队的共同成果,自己私发独占不好,那~~我就不发上来了(怎么样,我听话吧,哈哈哈哈哈),就简要的写一下Linux中的Makefile的使用,然后用Makefile文件来编译这个 FTP server 叭。一、编译、链接、静态链接库对于这个,如果要理解makefi

2021-05-13 01:47:42 14809 2

原创 【STM32F407 开发板】实验七 :IR 红外线接收实验

前言:这个实验,有点恶心,其实也不算恶心,一开始我理解错了,错怪了实验的源代码。不过最差劲的是,实验指导书是错的,妈的,我看了半天,一开始以为实验源代码错了,后来代码能正确运行,才发现是实验指导书错了,从根上就错了。嘿,tui ~ .致谢:在此感谢一下双双小姐姐叭,我和她说我的代码闹鬼了,然后就开始给她分析代码为啥闹鬼了,给她讲这个实验的目的,实验的步骤以及原理,分析源代码逻辑,分析到最后,我就这么悟了,突然理解了源代码的逻辑。特此表扬。哈哈哈哈哈哈一、创建工程创建工程部分,还是选择原来的板子,不

2021-05-09 17:25:45 2420

原创 【STM32F407 开发板】实验六 :SysTick 系统滴答实验

前言:这是第六个实验,实验五的博客我没有写,不是因为太简单了,而是因为太难了,当初给我直接干蒙圈了,其实实验五的代码很简单,就是深入底层配置寄存器原理,我就直接跪了,想要把实验五的博客写出来,至少又得几万字博客,光想想就害怕,还是之后有时间了再写吧。这个实验,是一个很简单的实验。就是配置一下时钟,利用时钟来点亮LED灯,来,上实验。一、创建工程。创建工程,还是选择原来的F407的板子。剩下的就是配置管脚的操作了,这次仅仅只用到了4个管脚。两个用于LED,两个用于RCC时钟。LED电路图如图所示

2021-05-08 15:48:19 1198

原创 【 Java应用程序移植到Linux环境 】Windows IDEA Java简单应用程序打包移植到Linux中运行

前言:本片博客的目的是记录一下IDEA中打包Java程序为jar包,然后再Linux环境下运行jar包的过程。也就是这样的话,打包的jar包就可以放到阿里云服务器上运行,可以实现远程访问服务端。一、IDEA中的项目结构IDEA中的项目结构是这样子的:其中的src中的每一个Java文件都是一个类文件,里面都有一个主函数,也就是这个仅仅只是Java的简单应用程序而已。二、生成META-INF文件点击菜单栏中的File->Project Structure选择主类,这里主类有超多

2021-05-06 21:20:05 2325 2

原创 【STM32F407 开发板】实验四 :UART串口1数据收发实验

前言:这篇博客注定是一个具有强大力量的博客,因为这个和之前的实验比起来,之前的实验都是弟弟,这才叫真正的嵌入式实验。如果说单纯的按照实验指导书上的代码敲一遍,运行一下,确实可以很简单的做完这个实验,但是!!!我们是来学习的,不弄清原理,单纯的傻不啦叽的写代码,那就失去了编程的灵魂。一、创建工程创建工程这里,很简单的,还是选择之前的板子型号,然后就是在外设这里,除了要使能时钟RCC外,还要加上一个USART1外设的使能。主要说一下这个USART1叭,选了异步模式,这个USART是一个高级一点的串口

2021-04-24 18:58:03 5991 7

原创 【STM32F407 开发板】实验三 :按键扫描实验

前言:这个实验,可以算是一个小小的综合一点的实验叭,就是通过读取按键的输入,来控制对应的LED的亮灭,比较新颖的地方是读取管脚的输入,其他的没啥,然后就是分析电路一、创建工程创建工程这里,其实和以前的实验,没啥太大区别,就是管脚选择不一样,多了几个INPUT的管脚而已在Cube中是这个样子:二、时钟配置时钟配置和之前的一样,都是用的GPIO口嘛,所以都是AHB总线:然后点击生成源代码的时候,配置和之前是一模一样的,接下来就是用Keil5打开工程,进行一些业务逻辑上的编码而已。三、电路分

2021-04-23 14:11:09 2358 1

主题破解恢复.zip

Ghost版的windows系统大部分都把主题破解了,由于用户使用Virtual Box时会调用到uxtheme.dll文件,所以会出现0x00000000指令引用的0x00000000内存,该内存不能为written

2020-06-27

Spring Boot核心技术 - 笔记.rar

提供springboot核心技术笔记,这是一个网课教程的视频笔记,当初找了好久才找到,分享一下,积分我初始创建的是0积分,后期积分可能会自动上涨,不知道什么原因。。

2020-04-26

python37_jb51.rar

在pyinstaller打包Python程序的时候,有时候会报winError 2 文件找不到错误,这就是丢失的那个文件python37.dll,将其复制到对应的文件夹下就可以了

2020-04-11

VirtualBox 虚拟机

这是一个轻量级的虚拟机软件,较之VMware轻量一万倍,而且操作简便,界面简洁。提供下载,供有需要的人使用。

2020-03-29

SmarTTY-2.2.rar

SmarTTY下载,分享给更多的需要的人,因为在某些网站上下载极慢,所以分享。可以实现连接云服务器,创建连接,是轻量级的软件应用。

2020-03-29

starAdmin 模板,下载

开源的starAdmin下载,分享给更多的需要的人,因为在某些网站上已经绝版,不能下载,所以分享。包括基本上所有需要的组件,页面,后台管理页面等,引入即可使用。

2020-03-25

AdminLTE 模板,资源下载

开源的AdminLTE下载,分享给更多的需要的人,因为从GitHub上下载太慢,所以分享。包括基本上所有需要的组件,页面,后台管理页面等,引入即可使用。

2020-03-25

空空如也

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

TA关注的人

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