自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(185)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java中的集合类

Java集合的体系结构

2022-12-06 11:55:58 267 1

原创 Java中的异常

java中的异常

2022-12-06 10:06:28 266

原创 内部类的特点

内部类的特点

2022-11-28 15:39:50 283

原创 接口的特点

接口的特点

2022-11-28 14:56:56 154

原创 抽象类的特点

抽象类特点

2022-11-28 14:34:58 98

原创 多态中成员访问特点

多态中成员访问特点

2022-11-28 11:10:10 110

原创 成员变量和局部变量的区别

成员变量和局部变量的区别

2022-11-25 11:31:49 147

原创 Java中的数据类型

java数据类型

2022-11-21 11:09:16 92

原创 JDK与JRE的关系

JDK和JRE的关系

2022-11-21 10:07:31 310

原创 常用DOS命令

基础dos命令

2022-11-21 10:04:36 124

原创 Java网络编程案例

try {// 获取当前时间 LocalDateTime ldt = LocalDateTime . now();System . out . println("客户端 " + socket . getInetAddress() + " " + socket . getPort() + " " + dateTime + ": " + content);System . out . println("客户端下线!");break;if(null!= br) {...

2022-08-18 12:00:06 205

原创 Java中的IO流详解(二)

在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常(InvalidCastException)。希望将多个对象写入文件时,通常建议将多个对象放入一个集合中,然后将集合这个整体看做一个对象写入输出流中,此时只需要调用一次readObject方法就可以将整个集合的数据读取出来,从而避免了通过返回值进行是否达到文件末尾的判断。......

2022-08-08 11:28:03 172

原创 Git常用命令汇总

Git常用命令

2022-07-31 10:31:19 726

原创 Leetcode 23. 合并K个升序链表

题目链接:https://leetcode.cn/problems/merge-k-sorted-lists/给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。这题显然是数组k路归并的扩展,而数组k路归并存在三种解法(假设k路数组的所有元素数为n):(1)k路数组拷贝至同一数组,再统一排序(2)k路数组进行k次归并(3)使用最小堆,依次从k个数组中找到最小值,重复n次而这题把数组换成了链表,那使用第三种方法是比较合适的。...

2022-07-03 11:33:16 81

原创 Leetcode 146. LRU 缓存

请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。实现 LRUCache 类:LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字 key 已经存在,则变更其数据值 value ;如果不存在,则向缓存中插入该组 key-value 。如果插入操作导致关键

2022-07-01 23:36:11 152

原创 Lintcode 130 · 堆化

链接:https://www.lintcode.com/problem/130/给出一个整数数组,把它变成一个最小堆数组,这称为堆化操作。对于堆数组A,A[0]是堆的根,并对于每个A[i],A [i * 2 + 1]是A[i]的左儿子并且A[i * 2 + 2]是A[i]的右儿子。题目意思很简单,批量建堆,如果遍历数组,依次做堆的添加操作,那么时间复杂度是O(nlogn),完全可以进行全排序了。所以在实际中,常常采用自下而上的下滤,来进行批量建堆,时间复杂度是O(n)。思路也很简单,自下而上,先做到左右子树

2022-06-23 14:50:11 100

原创 Leetcode 78. 子集 and 90. 子集 II

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。排列问题,一般都可以用深搜做,当然广搜也可以,这里给出三种解法。构建一棵二叉树,每层判断是否要放入nums[i],由根节点到叶子节点的路径构成一个子集。深搜2每层从剩下的可选数字中选择一个放入,从第0层往下,第i层代表含有i个元素的子集,所以每层要保存到答案中。为了避免重复,先对数组排序,只选择更大的元素放入(保证升序)。动态规划由可选的数字各不相同

2022-06-22 15:58:15 1562

原创 Leetcode 450. 删除二叉搜索树中的节点

链接:https://leetcode.cn/problems/delete-node-in-a-bst/二叉搜索树的增删改查都是必会的内容,但是删除相对于其他操作较难一点,可以通过这道题来进行练习。给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。迭代解法迭代解法基本思路与上相同,就是要多分类讨论删除的节点是不是根节点。...

2022-06-07 17:57:45 90

原创 LeetCode刷题目录

215. 数组中的第K个最大元素(中等)5. 最长回文子串28. 实现 strStr()704. 二分查找(简单)35. 搜索插入位置(简单)34. 在排序数组中查找元素的第一个和最后一个位置(中等)125. 验证回文串(简单)680. 验证回文字符串 Ⅱ(简单)4. 寻找两个正序数组的中位数(困难)144. 二叉树的前序遍历(简单)94. 二叉树的中序遍历(简单)145. 二叉树的后序遍历(简单)102. 二叉树的层序遍历(中等)257. 二叉树的所有路径(简单)剑指 Offer II

2022-06-01 09:59:49 149

原创 BFS图遍历:Leetcode 133. 克隆图

目录1.题目描述2.图的BFS遍历3.解法一:BFS边遍历边复制4.解法二:BFS复制所有节点,再复制所有边1.题目描述链接:https://leetcode.cn/problems/clone-graph/class Node: def __init__(self, val = 0, neighbors = None): self.val = val self.neighbors = neighbors if neighbors is not None els

2022-05-28 10:39:36 173

原创 必刷?704. 二分查找 以及两种变体

目录题目描述2.非递归二分3.递归二分4.变体1:搜索插入位置4.变体2:在排序数组中查找元素的第一个和最后一个位置二分查找是一个简单但是热门的方法,二分的模板也非常多,这里提供一个简单好记、且不会索引越界的写法,并在此基础上改写得到一些变体,如查找最后一个目标元素,查找第一个大于(或者小于)目标的数。包含的题目链接:704. 二分查找:https://leetcode.cn/problems/binary-search/705. 搜索插入位置:https://leetcode.cn/problem

2022-05-27 15:01:42 74

原创 必刷?215. 数组中的第K个最大元素之:快排+归排+快速选择

目录1.题目描述2.快排解法3.归并排序3.快速选择链接:https://leetcode.cn/problems/kth-largest-element-in-an-array/这道题可以用来练习快排、归排、快速选择三种算法,性价比非常高,建议隔天一刷。1.题目描述给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5

2022-05-27 14:24:10 145

原创 Leetcode 055. 二叉搜索树迭代器

目录1.题目说明2.题解链接:https://leetcode.cn/problems/kTOapQ/1.题目说明实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器:BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在于 BST 中的数字,且该数字小于 BST 中的任何元素。boolean hasNext() 如果向指针右

2022-05-27 14:05:02 65

原创 Leetcode .04. 检查平衡性

链接:https://leetcode.cn/problems/check-balance-lcci/实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2

2022-05-27 10:43:41 1145

原创 Leetcode 257. 二叉树的所有路径与变体

目录1.深搜写法12.深搜写法23.分治法链接:https://leetcode.cn/problems/binary-tree-paths/题目描述:给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。示例 1:输入:root = [1,2,3,null,5]输出:["1->2->5","1->3"]示例 2:输入:root = [1]输出:["1"]1.深搜写法1用字符串path存储根节点到

2022-05-27 10:22:39 154

转载 PyTorch内Tensor按索引赋值的方法比较

https://www.jianshu.com/p/e568213c8501

2022-04-23 14:51:48 1469

原创 深度可分离卷积 (Depth-wise Separabel Convolution)

深度可分离卷积深度可分离卷积 = depth-wise conv + point-wise conv。depth-wise conv:输入特征图每个通道作为一个group,用一个kernel处理。point-wise conv:kernel size =1 的普通卷积。import torchimport torch.nn as nnstride = 1kernel_size = 3in_ch = 10out_ch = 3conv_normal = nn.Conv2d(in_chan

2022-04-22 11:45:23 1053

原创 LeetCode 28. 实现 strStr()

28. 实现 strStr()链接:https://leetcode-cn.com/problems/implement-strstr/实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 needle 是空字符串时我们应当返回 0 。这

2022-04-13 19:46:36 81

原创 LeetCode 5. 最长回文子串

5. 最长回文子串链接:https://leetcode-cn.com/problems/longest-palindromic-substring/给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"枚举解法时间复杂度 O(n^3)class Solution: def longestPalindrome(self, s: st

2022-04-10 22:10:10 456

原创 Python装饰器的使用

目录1 装饰器1.2 函数装饰器1.2 类装饰器1.3 使用多个装饰器1.4 案例1.4.1 案例1-发表评论1.4.2 案例2-记录执行时间1.4.3 案例3-参数合理性检测1 装饰器1.2 函数装饰器所谓的装饰器,其实是通过装饰器函数,来修改原函数的一些功能,而原函数本身并不进行修改。下面的示例中,使用装饰器在原函数前进行打印语句。import functoolsdef my_decorator(func): @functools.wraps(func) # 将原函数func的元

2022-03-19 10:25:21 1327

原创 pytorch基操04-比较运算符

目录1 torch中的比较运算符1.1 torch.equal1.2 torch.equal1.3 torch.gt1.4 torch.ge1.5 torch.lt1.6 torch.le1.7 torch.ne1.8 torch.sort1.9 torch.topk1.10 torch.kthvalue1.11 torch.isinf1.12 torch.isfinite1.13 torch.nan1 torch中的比较运算符为了演示不同比较运算符的作用,先初始化两个tensor a和b。# 创建a

2022-03-17 11:25:59 1735

原创 pytorch基操03-取整取余操作

import torchtorch.manual_seed(1234)a=torch.empty(size=(2,3)).normal_(10,10)print('original :',a)# 向下取整print('floor :',torch.floor(a))# 向上取整print('ceil :',torch.ceil(a))# 四舍五入print('round :',torch.round(a))# 只取整数print('trunc :',torch.trunc(a))

2022-03-12 08:51:35 5096

原创 一句话理解pytorch中的广播机制

广播机制不同维度的张量可以通过广播机制进行运算,那什么是广播机制?两个张量要可以进行运算,从右到左,要么维度相等,要么其中一个为1( 不存在的认作1)。import torch# 从右到左,要么维度相等,要么其中一个为1,不存在的认作1a=torch.randn(size=(2,1,1,4))b=torch.randn(size=(4,2,4))c=a+bprint(c.size())torch.Size([2, 4, 2, 4])...

2022-03-08 23:18:34 187

原创 pytorch基操02-回到小学之基本算数运算

这里写目录标题1 基本算数运算1.1 加减法1.2 乘除法1.3 矩阵运算1.4 幂运算1.5 开方运算1.6 对数运算1 基本算数运算今天让我们回到小学,学习pytorch中的算数运算。1.1 加减法加法运算通过add方法实现,add_表示原地加,修改执行该操作的对象。# 加法运算print('-'*8+'add'+'-'*8)a=torch.ones(size=(2,3))b=torch.ones(size=(2,3))*2# a+bprint('a+b:\n',a+b)# tor

2022-03-04 17:33:44 679

原创 pytorch基操01-常用Tensor创建方法汇总

这里写目录标题1.Tensor的创建1.1 使用torch.Tensor1.2 使用torch.eye1.3 全0或全1的tensor1.4 根据分布随机生成tensor1.4.1 torch.rand1.4.2 torch.randn1.4.3 torch.normal1.4.4 torch.Tensor.uniform_1.5 生成序列tensor1.5.1 torch.arange(a,b,step)1.5.2 torch.linspace(a,b,num)1.5.3 torch.randperm(n

2022-03-04 11:59:36 2037

原创 线性回归python实现详解(附公式推导)

目录1线性回归1.1简单线性回归1.2 多元线性回归1.3 使用sklearn中的线性回归模型1线性回归1.1简单线性回归在简单线性回归中,通过调整a和b的参数值,来拟合从x到y的线性关系。下图为进行拟合所需要优化的目标,也即是MES(Mean Squared Error),只不过省略了平均的部分(除以m)。对于简单线性回归,只有两个参数a和b,通过对MSE优化目标求极值(最小二乘法),即可求得最优a和b如下,所以在训练简单线性回归模型时,也只需要根据数据求解这两个参数值即可。下面使用波士顿

2022-02-24 17:05:46 17917

原创 pytorch实现vgg11模型

VGG11这里实现最左侧的A,也就是原始的vgg11。import torchimport torch.nn as nnclass VGG11(nn.Module): def __init__(self, input_channel): super().__init__() self.conv_layers = nn.Sequential( nn.Conv2d(in_channels=input_channel, out_chan

2022-02-09 15:44:18 3604 1

转载 GRU与LSTM的原理总结

一、LSTM(长短期记忆网络) LSTM是一种特殊的RNN类型,一般的RNN结构如下图所示,是一种将以往学习的结果应用到当前学习的模型,但是这种一般的RNN存在着许多的弊端。举个例子,如果我们要预测“the clouds are in the sky”的最后一个单词,因为只在这一个...

2022-02-09 11:11:29 319

原创 pytorch多层感知机实现假钞识别(完整项目构建)

目录1 项目构建2 超参数设置 config.py3 数据集预处理 preprocess.py4 数据集类构建 dataset_banknote.py5 模型构建 model.py6 训练trainer.py6.1 查看损失曲线7 在测试集上运行 inference.py1 项目构建构建项目文件夹Banknote,以及子文件夹与py文件。名称作用data目录存放原始数据与预处理后切分为训练集、验证机、测试集的数据log目录存放训练过程中保存的指标,如损失、精确度等

2022-02-05 18:46:19 1504 3

原创 机器学习中的数据归一化

最值归一化 normalization最值归一化:把所有的数据映射到[0,1]之间。x=x−xminxmax−xmin\large x=\frac{x-x_{min}}{x_{max}-x_{min}}x=xmax​−xmin​x−xmin​​下面使用np实现最值归一化。import numpy as npimport matplotlib.pyplot as plt#生成数据X=np.random.randint(0,10,(30,2))X=np.array(X,dtype=float

2022-02-02 10:11:17 2415 1

男孩桌面小宠物快来玩吧

男孩桌面小宠物,Unity制作,可循环播放走路、奔跑、招手等动画。在头顶显示当前时间,左键键点击进入拎起状态,根据鼠标移动位置,右键点击可旋转其角度

2020-06-27

空空如也

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

TA关注的人

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