自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (3)
  • 收藏
  • 关注

原创 pymodbus

【代码】pymodbus。

2024-03-14 12:28:39 90

原创 「动态规划学习记录」编辑距离——线性DP

今天再给大家带来一道lc上的题的学习心得。

2022-12-09 21:55:35 229 1

原创 「贪心笔记」通过最少操作次数使得数组的和相等

给你两个长度可能不等的整数数组 和 。两个数组中的所有值都在 到 之间(包含 和 )。每次操作中,你可以选择 任意 数组中的任意一个整数,将它变成 到 之间 任意 的值(包含 和 )。请你返回使 中所有数的和与 中所有数的和相等的最少操作次数。如果无法使两个数组的和相等,请返回 。题目解析:先讨论不能通过一定操作次数使得两个数组和相等的情况,这个时候也就是:其中一组小的全部元素变成6,大的一组全部变成元素1,两个数组仍然有差距,即或者,则直接返回-1,其中n、m分别是两个数组的元素个

2022-12-07 09:38:26 449

原创 「动态规划学习心得」正则表达式匹配

给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。题目解析:我们定义表示s串前i个字符能否被p串前 j 个字符匹配初始状态,即两个都是空串,则肯定不匹配当 i > 0时,,即s串是非空串,p串是空串,则肯定不能够匹配当 j >0时,,即p串不是空的,但是s串是空的,此时想要匹配,必须利用p串中的*来匹配前面的字符0次使得当前p串为空串,才可能匹配目标状态:显而易见最终的答案就是,n和m分别为s串和p串

2022-12-06 22:13:06 611

原创 【算法学习笔记】分享,以纪念自己参加leetcode周赛25+场后成功拿到knight徽章

这是一个不断更新的 数据结构与算法 学习笔记,主要记录了我在学习过程中的一些 笔记 和 心得注:如果对你有帮助,给个Star吧~~ 一起学习,一起进步。每个章节都详细记录了比较重要的内容,以章节为例子(这个也是我花费时间最多的一部分),包含了如下几个方面同样,对于一些比较经典的题目,我也会写上自己的理解和思考过程,以“二分答案”题型为例:当然,。注:这些笔记记录了自己的进步和成长,但我也深知自己依旧需要努力。......

2022-08-26 09:43:00 451 1

原创 【无坑安装】linux(ubuntu18.04)下安装CUDA +cuDNN + Pytorch

因为在新电脑上配置深度学习环境,因此又重新在linux下装了一下相关的环境CUDA+cuDNN+Pytorch,随手记录一下要点吧,方便以后又用。

2022-07-16 15:31:04 781

原创 【题解】Leetcode周赛299 拼接数组的最大分数 困难

Leetcode 周赛299 拼接数组的最大分数

2022-06-26 13:56:43 182

原创 【题解】Leetcode双周赛81 不同骰子序列的数目 困难

给你一个整数 n 。你需要掷一个 6 面的骰子 n 次。请你在满足以下要求的前提下,求出 不同 骰子序列的数目:请你返回不同序列的 总数目 。由于答案可能很大,请你将答案对 109+710^9 + 7109+7 取余 后返回。如果两个序列中至少有一个元素不同,那么它们被视为不同的序列。由于第i个数字和第i-1和i-2个数字有限制要求,因此定义dp[i][j][k]dp[i][j][k]dp[i][j][k]:表示长度为 i ,最后两个数字分别为 j 和 k 且符合题目要求的序列数量。对于最后两个数字分别为

2022-06-26 10:29:51 300

原创 【题解】Leetcode 双周赛80 替换字符后匹配

给你两个字符串 s 和 sub 。同时给你一个二维字符数组 mappings ,其中 mappings[i]=[oldi,newi]mappings[i] = [old_i, new_i]mappings[i]=[oldi​,newi​] 表示你可以替换 sub 中任意数目的 oldiold_ioldi​ 个字符,替换成 newinew_inewi​ 。sub 中每个字符 不能 被替换超过一次。如果使用 mappings 替换 0 个或者若干个字符,可以将 sub 变成 s 的一个子字符串,请你返回 tru

2022-06-12 12:41:57 110

原创 【题解】Leetcode双周赛80 统计得分小于K的子数组数目

一个数字的 分数 定义为数组之和 乘以 数组的长度。比方说,[1, 2, 3, 4, 5] 的分数为 (1 + 2 + 3 + 4 + 5) * 5 = 75 。给你一个正整数数组 nums 和一个整数 k ,请你返回 nums 中分数 严格小于 k 的 非空整数子数组数目。子数组 是数组中的一个连续元素序列。根据分数的公式:Sum∗lenSum * lenSum∗len,可以想到需要先求 前缀和 ,方便快速地计算某个区间的和。然后我们采用双指针,不断移动双指针的右指针知道区间的 分数 大于等于 k,此

2022-06-12 10:03:18 123

原创 【题解】Leetcode周赛292 检查是否有合法括号字符串路径 JAVA

检查是否有合法括号字符串路径题目来源:Leetcode周赛292标签:动态规划、DFS一个括号字符串是一个 非空 且只包含 '(' 和 ')' 的字符串。如果下面 任意 条件为 真 ,那么这个括号字符串就是 合法的 。字符串是 () 。字符串可以表示为 AB(A 连接 B),A 和 B 都是合法括号序列。字符串可以表示为 (A) ,其中 A 是合法括号序列。给你一个 m x n 的括号网格图矩阵 grid 。网格图中一个 合法括号路径 是满足以下所有条件的一条路径:路径开始于左上角

2022-05-08 14:11:55 520 1

原创 【题解】Leetcode周赛292 统计打字方案书 中等

题目来源: Leetcode周赛292标签:动态规划Alice 在给 Bob 用手机打字。数字到字母的 对应 如下图所示。为了 打出 一个字母,Alice 需要 按 对应字母 i 次,i 是该字母在这个按键上所处的位置。比方说,为了按出字母 's' ,Alice 需要按 '7' 四次。类似的, Alice 需要按 '5' 两次得到字母 'k' 。注意,数字 '0' 和 '1' 不映射到任何字母,所以 Alice 不 使用它们。但是,由于传输的错误,Bob 没有收到 Alice 打字的字.

2022-05-08 12:16:44 428

原创 Pytorch 深度学习常用函数记录

view()l= torch.arange(0,10) * 2print(l.view(2,5))print(l.view(2,-1))result:tensor([[ 0, 2, 4, 6, 8], [10, 12, 14, 16, 18]])tensor([[ 0, 2, 4, 6, 8], [10, 12, 14, 16, 18]])expand()x = torch.tensor([1, 2, 3])print(x.expand(2,

2022-02-24 21:31:35 1063

原创 Pytorch 学习小记录

Tensor创建#设置默认数据类型为其他类型torch.set_default_tensor_type(torch.DoubleTensor)ic(torch.tensor([1.2,3.4]).dtype)import torchfrom icecream import icif __name__ == '__main__': tensor = torch.Tensor([[1,2],[3,4],[5,6]]) #默认FloatTensor类型 ic(tensor)

2022-02-20 16:31:05 997

原创 mmdetection学习记录之报错解决汇总

报错1:RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one. This error indicates that your module has parameters that were not used in producing loss. You can enable unused parameter detection by (1) passing th

2022-02-20 16:18:25 2228

原创 数据结构C语言实现——二叉树

本文记录了自己学习数据结构与算法课程的二叉树实现代码及哈夫曼树的实现tree.h#ifndef TREE_H_#define TREE_H_#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#include<stdbool.h>typedef char NodeType;#define MAX_NODE 1000//*****二叉树****

2021-11-14 15:02:22 1154

原创 数据结构C语言实现——栈和队列

本文记录了自己学习数据结构与算法课程的栈及队列实现代码栈部分stack.h#ifndef STACK_H_#define STACK_H_#include<stdio.h>#include<stdlib.h>#include<stdbool.h>#include<math.h>#include<string.h>#define MAXSIZE 100typedef int StackType;//顺序栈结构//type

2021-11-13 10:13:20 651

原创 数据结构C语言实现——图及最短路径实现

本文记录了自己学习数据结构与算法课程的图结构实现及最短路径算法实现map.h#ifndef _MAP_H_#define _MAP_H_#include<stdio.h>#include<stdlib.h>#include<stdbool.h>#define MAX_VERTEX_NUM 100#define MAX_DIS INT_MAXtypedef char VertexType;typedef int EdgeType;//循环队列//

2021-11-13 10:10:03 1259

原创 数据结构C语言实现——链表

本文记录了学习数据结构与算法课程中自己手撸的数据结构。link.h#ifndef LINK_H_#define LINK_H_#include<stdio.h>#include<stdlib.h>#include<stdbool.h>#include<math.h>#include<string.h>typedef char elemtype;#define ERROR 0#define OK 1//单向链表//

2021-11-13 10:06:05 818

原创 成功解决anaconda下安装报错:PackagesNotFoundError: The following packages are not available from current chann

解决anaconda下安装包时报错:PackagesNotFoundError: The following packages are not available from current channels以安装icecream包为例输入conda install icecream安装时,显式报错.那么我们就查询包所存在的版本,输入如下命令:anaconda search -t conda icecream然后会出现很多信心,选择自己需要的安装包根据需求选择自己要安装包的版本,输入以下命令查看

2021-11-07 20:23:37 42631 14

原创 VMware创建ubuntu虚拟机时出现蓝屏

解决方法1:修改创建虚拟机时的内存分配,最好设置为2G(本人是设置为4G后一创建就蓝屏)

2021-11-01 11:30:40 912

原创 Linux下U盘挂载

首先需要查看所有磁盘信息,即可以查看到我们的u盘的状态 (主要看分区还有文件系统)sudo fdisk -l然后会显示磁盘信息和设备:比如我的就显示/dev/sdc1 * 60672 121110572 121049856 57.7G 7 HPFS/NTFS/exFAT然后就可以输入命令挂载了:FAT32格式的U盘输入:sudo mount -t vfat /dev/sdc1 /mediaNTFS格式的U盘输入:sudo mount -t nfs /dev/sdc1 /media然后

2021-10-31 19:21:54 809

原创 Golang 反射

反射基本概念Go语言提供了一种机制在运行时更新和检查变量的值、调用变量的方法和变量支持的内在操作,但是在编译时并不知道这些变量的具体类型,这种机制被称为反射。支持反射的语言(java、C#等,Go利用了reflect包)可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口访问反射信息,这样就可以在程序运行期获取类型的反射信息,并且有能力修改它们。既然Go是利用了reflect包来访问程序的反射信息,那么我们就先看下reflect包来了解一下。r

2021-10-25 10:12:46 165

原创 Golang 并发基础 MPG线程模型介绍、协程goroutine和管道channel应用

协程:可以理解为轻量级的线程独立的栈空间共享程序堆空间调度由用户控制逻辑态,资源消耗相对小Golang的协程机制是重要的特点,可以轻松开启上万个协程。Go具有并发上的优势相对于其他编程语言goroutine调度模型:MPG模型基本介绍:M:操作系统的主线程P:协程执行的上下文环境(资源)G:协程import( "fmt" "strconv" "time")func test(){ for i := 0;i < 10;i++{ fmt.Prin

2021-10-22 12:37:41 438

原创 Golang 程序测试框架

注意事项:测试用例文件名必须以_test.go结尾,如:person_test.go测试用例函数必须以Test开头,比如person_test.go文件中的TestReStore测试函数的形参必须是t *testing.T一个测试用例文件中,可以有多个测试用例函数如果要测试单个文件一定要带上被测试的源文件go test -v person_test.go cal.go测试单个方法go test -v -test.run TestReStore测试命令:进入到对应

2021-10-20 17:40:05 588

原创 Golang 命令行参数读取

命令行参数os.Args存储了输入的命令行参数,args[0]是文件名fmt.Println("命令行的参数有:",len(os.Args))for i,v:= range os.Args{ fmt.Printf("args[%v]=%v\n",i,v)}flag包来解析命令行参数import ( "fmt" "flag")func main(){ //存储命令行的数据 var usr string var pwd string var host string var p

2021-10-19 18:46:11 633

原创 golang/Go语言 如何表示整数常量最大值最小值

golang的标准库里没有定义像C语言标准库limits.h中INT_MIN、INT_MAX这些常量变量。不过可以用位操作运算,轻松定义这些常量。无符号整型uint无符号整型最小值是0,其二进制表示的所有位都为0const UINT_MIN uint = 0 //00000000 因为32/64位太长,我们用8位来代替表示其最大值的二进制表示的所有位都为1,那么,const UINT_MAX = ^uint(0) //11111111有符号整型int有符号相比于无符号,其最高位为符号位:

2021-10-19 08:46:13 1905

原创 感知机学习总结及例题(附代码及手算过程)

感知机是一种二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,+1代表正类,-1代表负类,是神经网络和支持向量机的基础。例如一个典型的二分类问题:银行卡申请问题,对于顾客,决定是否给予信用卡对于一个顾客的信息(年龄、薪资、当前债务等等),我们可以用一个向量表示。然后每个信息条目(维度)均对是否给他信用卡有着正面或者负面的影响,决定我们是否给他信用卡。我们把这些维度加权叠加计算出来,结果若大于某个阈值就给,否则就不给。设X=(x1,x2,...,xd)X = (x_1,x_2,...,x

2021-10-15 10:23:59 8969

原创 Python中字符串的相关操作及函数

字符串相关的操作字符串 + 操作字符串 * 操作字符串 [] 切片操作字符串[开始值:结束值:步进值]开始值:默认为0,结束值默认是最后一个下标,步进值默认为1示例:# - 字符串 + 操作vara = '君不见,黄河之水天上来,奔流到海不复回.'varb = '君不见,高堂明镜悲白发,朝如青丝暮成雪'# res = vara + varbres = '将进酒 '+'李白'# print(res)# - 字符串 * 操作vars = '鸡你太美,' * 5 # 鸡你太

2021-10-12 09:22:42 149

原创 学会map、reduce、filter这三个函数,让你Python代码看起来更有逼格!

前言:大家都觉得Python好学,可是有时候往往我写的代码和别人相比简直是被蹂躏。看到别人写的代码就觉得很优美,因此便总结了一下几个常用的能够提供你程序逼格的函数map(func, *iterables)对传入的可迭代数据中的每个元素进行处理,返回一个新的迭代器map(func, *iterables)功能: 对传入的可迭代数据中的每个元素放入到函数中进行处理,返回一个新的迭代器参数: func 函数 自定义函数|内置函数 iterables:可迭代的数据返回值:迭代器.

2021-10-11 23:06:38 81

原创 你真的了解Python中的sorted吗?(建议收藏)

sorted(iterable,[reverse,key])首先简单看一下sorted()方法的介绍sorted()运行原理: 把可迭代数据里面的元素,一个一个的取出来,放到key这个函数中进行处理, 并按照函数中return的结果进行排序,返回一个新的列表功能: 排序参数: iterable 可迭代的数据 (容器类型数据,range数据序列,迭代器) reverse 可选,是否反转,默认为False,不反转, True反转 key 可选, 函数

2021-10-11 11:22:28 421

原创 Python强制类型转换总结

强制类型转换python中的每个数据类型都有对应的方法,可以对数据类型进行转换str() 可以把所有的其它数据类型转换为字符串类型f_num = 3.1415print(str(f_num))int() 字符串转数字类型时,如果字符串中时纯数字,可以转换f_num = 3.1415str_num = "213"print(int(str_num))print(int(f_num))'''2133'''容器类型不能转为数字int类型float() 浮点类型的转换和i

2021-10-10 22:13:57 3040

原创 Python实现简单K-Means分类

通过Python写了个简单的K-Means分类具体方法其实很简单:生成几类随机数据点points随机生成K个中心点centers对每个点point求取距离最近的中心点center 即分类对每个分类集中的数据点求取平均点作为新的中心点坐标如果所有新的中心点 和 旧中心点 的距离都小于一定阈值 说明分类完成;否则迭代import matplotlib.pyplot as pltimport numpy as npimport randomfrom icecream import.

2021-10-08 16:22:56 784 1

原创 K-Means算法对100万条新闻头条数据聚类

1 数据集信息来源澳大利亚广播公司 ABC 发布的新闻头条数据导入相关模块:import numpy as np import pandas as pd import matplotlib.pyplot as pltimport seaborn as snsfrom sklearn.feature_extraction import textfrom sklearn.feature_extraction.text import TfidfVectorizerfrom sklearn.clu

2021-10-06 18:58:57 3163 4

原创 Ad Hoc类问题求解案例

Ad Hoc类问题前言:在程序设计竞赛的试题中,有这样一类试题,解题不能套用现成的算法,也没有模式化的求解方法,而是需要编程者自己设计算法来解答试题,这类试题被称作Ad Hoc类试题,也被称为杂题.一方面,Ad Hoc类试题能够比较综合地反映编程者的智慧、知识基础和创造性思维的能力;另一方面,求解Ad Hoc类试题的自创的算法只针对某个问题本身,探索该问题的独有性质,是一种专为解决某个特定的问题或完成某项特定的任务而设计的算法,因此Ad Hoc类试题的求解算法一般不具备普适意义和可推广性。求

2021-09-28 22:28:02 775

原创 遗传算法GA原理详解及实例应用 附Python代码

遗传算法GA遗传算法(Genetic Algorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。生物在自然界中的生存繁衍,显示了其对自然环境的优异的自适应能力。遗传算法所借鉴的生物学基础就是生物的进化和遗传。生物在其延续生存的过程中,逐渐适应其生存环境,使得其品质不断得到改良,这种生命现象称为进化(Evolution)。生物的进化是以集团的形式共同进行的,这样的一个团体称为群体(Population),组成群体的单

2021-09-24 23:56:51 12523 3

原创 带你掌握Go语言面向对象!

面向对象Golang和传统的面向对象编程有所区别,并不是纯粹的面向对象语言。比如C++、java的面向对象都是基于类的,可是Go没有类,Go是基于struct来实现OOP特性的。Go去掉了传统的OOP语言的方法重载、构造函数、析构函数等,但是Go仍然有着面向对象编程的继承、封装和多态的特性,只是实现方式比较不同。我们既然说了Go是基于struct来实现OOP特性的,那么Go中的结构体是怎么样定义的呢?如下:type Structname struct{ field1 type //字段

2021-09-22 19:39:41 711

原创 Go语言map数据类型基本使用

Map基本语法:var map 变量名 map[keytype][valuetype]注意:声明不会分配内存,初始化需要make,分配内存后才能赋值和使用注意事项:map在使用前一定要makemap的key不能重复,如果重复了,以最后一个为准map的key-value是无序的make内置函数数目使用方式:func main(){ //方式1 var a map[string]int a = make(map[string]int,10) a["ywh"] = 21 a["

2021-09-20 22:49:37 247

原创 Go语言数组和切片总结

数组数组定义:var 数组名 [数组大小]数据类型初始化方式:var nums [3]int = [3]int{1,2,3}var nums = [3]int{1,2,3}var nums = [...]int{4,5,6}数组的地址可以通过数组名来获取 &intArr数组第一个元素的地址就是数组的首地址func main(){ var IntArr [3]int IntArr[0] = 1 IntArr[0] = 31 IntArr[0] = 6 fmt.Pr

2021-09-20 21:47:02 186

原创 Go函数使用注意事项总结(逃逸分析、匿名函数、闭包函数)

函数声明方式:func 函数名(形参列表)(返回值列表){ 执行语句 return 返回值列表}栈区:Go语言的栈区一般存储基本数据类型,编译器存在一个逃逸分析堆区:Go语言的堆区一般存储引用数据类型,编译器存在一个逃逸分析没有基础的童鞋可能会比较迷惑什么是逃逸分析?首先,你需要知道什么是内存逃逸。内存逃逸:在C、C++中,常常会忘记分配完内存后忘记释放,从而导致内存泄露,大量的内存泄露对程序来说是致命的。在C语言中,只要不是malloc、全局变量、静态局部变量的都是局部变量,

2021-09-20 16:11:47 382

微机原理与接口技术复习总结.zip

微机原理与接口技术复习重点总结,包含章节:数制与码制、8086CPU结构与功能(填空选择)、8086CPU指令系统(填空选择判断大题)、汇编语言程序设计、总线及其形成、8259A和8253等

2020-09-06

cricket_control2.zip

2017全国大学生电子设计竞赛板球控制系统STM32F407ZGT6源码,包括基础部分和发挥部分,摄像头用的为openmv,两者串口通信

2020-05-08

Handstand_final.zip

2013年全国大学生电子设计竞赛控制类题目旋转倒立摆控制系统STM32F407ZGT6源码,包括基础部分和发挥部分

2020-05-08

空空如也

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

TA关注的人

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