自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(187)
  • 资源 (6)
  • 收藏
  • 关注

原创 常用的几种排序算法

常用的几种排序算法什么是算法的稳定性?稳定性的定义:排序前后两个相等的数相对位置不变,则算法稳定。那么稳定有什么好处吗?从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用各排序算法的稳定性:堆排序、快速排序、希尔排序、直接选择排序不是稳定的排序算法;基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。1. 冒泡排序算法这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。它的时间复杂度为o(n^2)

2020-08-14 21:05:40 813

原创 深度学习环境训练搭建

apt-get update 失败apt-get update 失败vim resolv.conf更改下面的选项nameserver 172.1.0.200search 10011016-name.svc.cluster.local. svc.cluster.local. cluster.local.options ndots:5nameserver 8.8...

2020-04-29 16:15:08 825

原创 深度学习 常用的trick

from torchsummary import summarysummary(pytorch_model, input_size=(channels, H, W))打印pytorch模型的维度,以及模型的具体的信息,如参数量大小等等pip使用指定pip源来下载所需要的包,不需要更改源pipinstallscrapy -ihttps://mirrors.aliyun....

2019-10-29 09:58:58 630

原创 树莓派实现车牌识别的智能限高杆

这是本科毕设的课题,最核心的部分就是树莓派进行车牌识别。其中最难的部分在于树莓派上环境的搭建,在上一篇文章已经介绍过如何搭建开发环境。车牌识别部分代码的使用了github上https://github.com/yinghualuowu/Python_VLPR的代码,调用摄像头,实现了一款基于树莓派实现车牌识别的智能限高杆。系统可以分为辨识部分和警示部分,辨识部分以树莓派3B+/3B...

2018-10-24 12:28:01 6248 49

原创 树莓派3b pyhon3.5 安装opencv3.4

参考了百度文库、CSDN的各位大佬的安装教程,重复安装了好多次都没有成功。最后在同学的帮助下,在google上找到了解决方法。下面就是所安装的具体过程。首先要确保有足够的空间,树莓派至少要需要16G的SD卡,16G的其实都勉强。首先安装依赖包,在进行软件安装之前要更新一下现有的软件包:sudo apt-get update sudo apt-get upgrade  #更新系统,慎重选...

2018-02-11 16:06:34 666 3

原创 Shell编程学习

Shell编程基础知识学习

2022-07-11 00:41:52 749 1

原创 二叉树刷题2

654. 最大二叉树难度中等196收藏分享切换为英文接收动态反馈给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树的根节点。示例 :输入:[3,2,1,6,0,5]输出:返回下面这棵树的根节点: 6 / \ 3 5 \ .

2020-10-05 15:43:52 216

原创 算法刷题之二叉树

二叉树的遍历:前序遍历: 根左右中序遍历:左根右后序遍历: 左右根计算二叉树有多少个结点int count(TreeNode root){ if(root==null) return 0; return 1 + count(root.left)+count(root.right);}226. 翻转二叉树难度简单645收藏分享切换为英文接收动态反馈翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ .

2020-10-05 14:49:15 240

原创 leetcode之括号问题

20. 有效的括号难度简单1894收藏分享切换为英文接收动态反馈给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false示例4:输入: "([)]"...

2020-10-05 14:01:25 482

原创 leetcode986. 区间列表的交集

给定两个由一些闭区间组成的列表,每个区间列表都是成对不相交的,并且已经排序。返回这两个区间列表的交集。(形式上,闭区间[a, b](其中a <= b)表示实数x的集合,而a <= x <= b。两个闭区间的交集是一组实数,要么为空集,要么为闭区间。例如,[1, 3] 和 [2, 4] 的交集为 [2, 3]。)示例:输入:A = [[0,2],[5,10],[13,23],[24,25]], B = [[1,5],[8,12],[15,24],[2...

2020-10-05 13:06:47 212

原创 计算机视觉中常见的注意力机制

计算机视觉中常见的注意力机制本来自己写了,关于SENet的注意力截止,但是在准备写其他注意力机制代码的时候,看到一篇文章总结的很好,所以对此篇文章进行搬运,以供自己查阅,并加上自己的理解。文章目录计算机视觉中常见的注意力机制1.SENET中的channel-wise加权的实现2.CBAM中的通道注意力机制3.CBAM中的空间注意力机制4.CBAM中的融合4.Non-local5.dual pooling的pytorch实现1.SENET中的channel-wise加权的实现实现代码参考自:se

2020-09-02 18:50:52 3138

原创 链表排序

链表排序题目描述在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5来源:力扣(LeetCode)[链接][https://leetcode-cn.com/problems/sort-list]著作权归领扣网络所有。

2020-09-02 12:10:42 113

原创 leetcode200. 岛屿数量

难度中等739收藏分享切换为英文关注反馈给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:[['1','1','1','1','0'],['1','1','0','1','0'],['1','1','0','0','0'],['0','0','0','0','0']]输出:1示例2:...

2020-08-30 20:01:39 98

原创 C++基础三

C++基础三函数模板使用类型,逻辑非常相似类型参数化 泛型编程—模板技术template// 告诉编译器,下面如果出现T不报错,T是通用类型template//与前者等价mySwapT(a, b);1.自动类型推导,必须有参数类型才可以推导2.显示指定类型mySwapT(a, b);3.模板必须要指定T才可以使用函数模板与普通函数的区别和实现函数模板不能隐士转换如果出现重载, 优先使用普通函数调用, 如果没有实现,则会出现错误如果想强制调用模板, 则可以使用空参数列表函数模

2020-08-24 20:54:25 90

原创 C++基础2

运算符重载运算符重载,就是对已有的运算符进行重定义,赋予其另一种功能, 以适应不同的类型加号运算符重载如果想让自定义数据 进行+ 号运算, 那么就需要重载+号运算符在成员函数里面或者全局函数里 重写一个+运算符的函数函数名operator+(){}运算符重载也可以提供多个版本重载左移运算符不要随意卵用符号重载内置数据类型的运算符不可以重载cout<<直接对Person 自定义数据类型 进行输出写到全局函数中ostream & operator<&lt

2020-08-21 18:16:48 149

原创 C++基础第一部分

C++基础c++概述C++是对c的扩展,是c语言的超集。库是编程模块的集合,可以在程序中调用它们,库对很多常见的编程问题提供了可靠的解决方法,因此可以节约大量的时间和工作量。c++ 在c语言基础上增加了面向对象和泛型编程的思想。::双冒号 作为全局作用域命名空间namespace命名空间的主要用途, 用来解决命名冲突的问题1.命名空间下, 可以放 函数, 变量, 结构体, 类2.命名空间必须定义在全局作用域下3.命名空间可以嵌套命名空间4.命名空间是开放的,可以随时向命名空间添加内容

2020-08-20 20:47:20 262

原创 leetcode692. 前K个高频单词

给一非空的单词列表,返回前k个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: ["i", "love", "leetcode", "i", "love", "coding"], k = 2输出: ["i", "love"]解析: "i" 和 "love" 为出现次数最多的两个单词,均为2次。 注意,按字母顺序 "i" 在 "love" 之前。示例 2:输入: ["the", "day...

2020-07-30 16:26:48 226 1

原创 leetcode347. 前 K 个高频元素

给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 O(nlogn) ,n是数组的大小。 题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。 你可以按...

2020-07-30 15:29:00 186

原创 leetcode98. 验证二叉搜索树

给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为...

2020-07-28 21:02:27 106

原创 leetcode.面试题68 - I. 二叉搜索树的最近公共祖先

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6 ...

2020-07-28 20:06:54 93

原创 leetcode.525. 连续数组

给定一个二进制数组, 找到含有相同数量的 0 和 1 的最长连续子数组(的长度)。示例 1:输入: [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: [0,1,0] 输出: 2 说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。注意:给定的二进制数组的长度不会超过50000。当长度大于10000的时候就不适合用复杂度为o(n^2)c++class Solution {public: .

2020-07-23 21:21:51 281

原创 leetcode101. 对称二叉树

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的: 1 / \ 2 2 \ \ 3 3进阶:你可以运用递归和迭代两种方法解决这个问题吗?对称二叉树的左子树的前序遍历等于右子树的后序遍历的逆# Definition f...

2020-07-23 20:01:37 76

原创 leetcode965. 单值二叉树

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回true;否则返回false。示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false提示:给定树的节点数范围是[1, 100]。 每个节点的值都是整数,范围为[0, 99]。# Definition for a binary tree node.# class TreeN...

2020-07-23 19:25:01 97

原创 leetcode111. 二叉树的最小深度

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# ...

2020-07-22 00:28:47 92

原创 day46列表转为二叉树并且实现前中后遍历二叉树

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/7/21 23:51# @Author : caius# @Site : # @File : day46列表转化为二叉树.py# @Software: PyCharm# 已知列表nums,将其转化为二叉树。举例:## nums = [3,9,20,None,None,15,7],转化为二叉树后,节点3的左子节点9,右子节点20,9的左右子节点都为None,20的左子节点1.

2020-07-22 00:18:10 127

原创 leetcode645. 错误的集合

集合S包含从1到n的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。给定一个数组nums代表了集合S发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入: nums = [1,2,2,4]输出: [2,3]注意:给定数组的长度范围是[2, 10000]。 给定的数组是无序的。通过次数17,175提交次数40,441...

2020-07-21 23:36:58 127

原创 leetcode769. 最多能完成排序的块

数组arr是[0, 1, ..., arr.length - 1]的一种排列,我们将这个数组分割成几个“块”,并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。我们最多能将数组分成多少块?示例 1:输入: arr = [4,3,2,1,0]输出: 1解释:将数组分成2块或者更多块,都无法得到所需的结果。例如,分成 [4, 3], [2, 1, 0] 的结果是 [3, 4, 0, 1, 2],这不是有序的数组。示例 2:输入: arr = [1

2020-07-20 00:24:27 122

原创 leetcode142. 环形链表 II

给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中有一个环,其尾部连接到第二个节点。示例2:输入:head = [1,2]...

2020-07-19 23:33:35 76

原创 leetcode141. 环形链表

给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例2:输入:head = [1,2], pos = 0输出:true解释:链表中有一个环,其尾部连接到第一个节点。示例 3:输入:head =...

2020-07-19 23:08:58 81

原创 leetcode287. 寻找重复数

给定一个包含n+ 1 个整数的数组nums,其数字都在 1 到n之间(包括 1 和n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。 只能使用额外的O(1) 的空间。 时间复杂度小于O(n2) 。 数组中只有一个重复的数字,但它可能不止重复出现一次#!/usr/bin/env...

2020-07-19 22:10:46 296

原创 leetcode485. 最大连续1的个数

给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含0和1。 输入数组的长度是正整数,且不超过 10,000。通过次数44,050提交次数77,816在真实的面试中遇到过这道题?#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/7/19 21:09# @..

2020-07-19 21:41:41 194

原创 leetcode283.作业题把数组中的零移动到末尾

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/7/19 20:50# @Author : caius# @Site : # @File : day37.py# @Software:

2020-07-19 21:04:09 444

原创 git 常用命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K3A9Df1M-1594347812622)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1591082763600.png)]查看是否有文件id_rsa以及文件id_rsa.publuchao@speakin:~$ cd ~/.ssh lsluchao@speakin:~/.ssh$ luchao@speakin:~/.ssh$

2020-07-10 10:27:51 216

原创 leetcode.1171. 从链表中删去总和值为零的连续节点

给你一个链表的头节点head,请你编写代码,反复删去链表中由总和值为0的连续节点组成的序列,直到不存在这样的序列为止。删除完毕后,请你返回最终结果链表的头节点。你可以返回任何满足题目要求的答案。(注意,下面示例中的所有序列,都是对ListNode对象序列化的表示。)示例 1:输入:head = [1,2,-3,3,1]输出:[3,1]提示:答案 [1,2,1] 也是正确的。示例 2:输入:head = [1,2,3,-3,4]输出:[1,2,4]...

2020-07-08 11:47:16 450 1

原创 speakin-kaldi 环境编译

speakin-kaldi 环境编译安装anaconda在线下载anaconda包,清华源卡的话可以换科大的源 mirrors.ustc.edu.cn也可以在官网下好之后,上传到服务器。wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.02-Linux-x86_64.sh切到下载的目录然后,开始安装bash Anaconda3-2020.02-Linux-x86_64.sh安装完成之后,将an

2020-07-07 11:43:55 190

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

剑指 Offer 06. 从尾到头打印链表难度简单36收藏分享切换为英文关注反馈输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000通过次数52,444提交次数68,914在真实的面试中遇到过这道题?是否《剑指 Offer(第 2 版)》官方授权/** * Definition for singly-li..

2020-07-06 16:57:19 177

原创 leetcode.面试题 02.02. 返回倒数第 k 个节点

难度简单33收藏分享切换为英文关注反馈实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。注意:本题相对原题稍作改动示例:输入: 1->2->3->4->5 和 k = 2输出: 4说明:给定的k保证是有效的。python3# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = ..

2020-07-06 15:26:25 148

原创 leetcode.面试题 02.07. 链表相交

面试题 02.07. 链表相交给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8

2020-07-06 13:59:42 193

原创 ubuntu 常用的命令

ls | wc -w 查看当前文件夹下文件数量

2020-06-29 10:19:35 106

原创 leetcode56. 合并区间

给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。class Solution {public: vector<vector<int&.

2020-06-28 16:19:52 152

基于NLMS和LMS算法实现回声消除matlab

基于NLMS和LMS算法,用matlab实现了 对语音信号中的回声进行消除,完成了课程设计,其中NLMS的效果要优于LMS的效果.

2018-11-02

树莓派车牌识别

本代码主要分为4个部分,分别是车辆高度判断部分、图像采集部分,车牌识别部分、通信部分。 通信设置是树莓派用来与单片机通信的波特率、com口以及停止位参数等,将车牌的字符串通过串口发送给单片机;摄像头设置是树莓派对摄像头进行初始化,方便后面直接调用摄像头进行拍照;车辆高度判断,利用激光对射模块,若超过限定高度则返回的电平发生了变化;车牌识别部分是核心部分,对含有车牌信息的图像进行处理,最后得到车牌信息。

2018-10-24

交通灯程序设计+交通灯protues仿真程序基于51单片机交通灯仿真

交通灯程序设计+交通灯protues仿真程序基于51单片机交通灯仿真

2018-02-11

The+OpenCV+Tutorials.pdf

The+OpenCV+Tutorials.pdf

2018-02-11

51单片机计算器

51单片机实现计算器功能,采用C语言编写。利用数码管进行显示。

2018-02-11

基于C#上位机的数字电压表

用C#简单做了一个上位机,结合STC15A60s2做了一个简单的数字电压表。里面有上位机和下位机的代码,可以提供参考。

2017-02-24

空空如也

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

TA关注的人

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