- 博客(18)
- 收藏
- 关注
原创 基于LeNet-5的图像分类小结
本文介绍了基于LeNet-5模型的图像分类实现。首先对FashionMNIST数据集进行预处理,包括图像尺寸标准化和转换为张量,并按8:2比例划分训练集和验证集。然后详细解析了LeNet-5网络架构,包含两个卷积层(分别使用Sigmoid激活函数)和三个全连接层,总参数量为61,706个。通过torchsummary验证了参数计算的准确性。文章还以识别猫为例,通俗解释了卷积神经网络通过逐层提取局部特征(如边缘、纹理等)最终实现图像分类的原理。整个实现展示了经典CNN模型在图像分类任务中的应用。
2025-11-28 22:46:33
934
2
原创 【双指针算法总结(2)】
在内层循环固定第二个数,第二个数从第一个数的后面一个元素开始轮流固定,由于在这个数的后面还需要固定两个数,所以边界条件是j < nums.length - 2,下面重点讲一下去重操作。在面对一些较大数值的运算的时候int类型的数据很有可能发生溢出,此时用long类型在存储运算的结果即可,这里运用到了Java在数据运算时的强制类型转换,int类型的数据和long类型的数据在进行运算的时候,会强制被提升为long类型的数据。当固定的第二个数为固定的第一个数的后面一个元素的时候,此时不用去重。
2025-11-22 10:11:17
716
原创 双指针算法总结(1)
由于此时数组是有序的,根据数组的单调性,在right左边的元素都比nums[right]更小,所以要找到更加接近target的sum只能让left++,如果sum > target,根据数组的单调性,在left右边的元素都比left更大,要找到更加接近target的sum,只能让right–。绝大多数的算法,我们第一眼看见的时候都会想到暴力解:这道题也不例外,暴力解的思路如下:直接对数组中的数进行枚举,如果两个数的和等于目标值。我们来梳理一下题干,关键点是找到所有的三元组,并且答案中不能有重复的三元组。
2025-11-21 21:19:25
774
原创 LeetCode 611算法思路和代码分享
首先我们明确一下如何判断三个数能否构成三角形的边,初始做法是:任意两边之和大于第三边,任意两边之差小于第三边。有一种更加简单的做法:将三角形的三条边的边长排成有序的序列,然后判断两条较小的边长之和是否大于第三边即可。我们先将数组按照升序排序。然后利用单调性和双指针算法来处理这道题。一次双指针算法的时间复杂度为O(n),一共需要进行n-2次双指针算法。所以时间复杂度为O(n*2)。
2025-11-14 19:27:58
290
原创 LeetCode 11 解题思路和代码分享
w代表宽,直接让数组两侧的 下标相减得到。在数组遍历的过程之中,h 的值要么不变,要么变小。而w的值是一直在减小的。所以我们可以定义两个指针,一个指向数组的第一个元素,一个指向数组的最后一个元素。根据上述计算h的公式计算出体积后保存。利用两层的for循环,计算每一个体积,然后保存这些体积之中的最大值。然后判断新的体积和旧的体积的大小,保存两者之间的较大值,一直重复该过程,直到头尾两个指针相遇为止。,h 代表高,根据木桶效应,取两侧数组元素中的较小值。height[right]**的大小。
2025-11-13 16:24:33
384
原创 LeetCode 138 解题思路和代码分享
先定义一个cur指针指向链表的头部结点,然后定义一个HashMap,根据指针指向的当前结点的值,构造一个新的结点。把当前结点和新结点的内存地址组成的 key - value 键值对放入到HashMap中,然后让cur指针指向原始链表的下一个结点。重复此过程直到cur为null。此时在HashMap之中已经构建好了原始链表之中的结点和新链表中的结点的映射关系。
2025-11-13 10:02:39
331
原创 【TreeMap和TreeSet】
TreeSet的底层使用TreeMap实现的,按照元素的自然顺序对元素进行排序,或者利用传入的ComParator对象进行排序,具体取决于实例化的时候调用什么构造方法。
2025-11-12 08:46:22
897
原创 【二叉树】
二叉树是一种重要的数据结构,由根节点和左右子树组成,子树有明确顺序。本文介绍了二叉树的两种特殊形态(满二叉树和完全二叉树)及其五大性质,重点讲解了二叉树的构建方法(手动创建示例)和三种遍历方式(前序、中序、后序)的递归与非递归实现。其中,前序遍历先访问根节点,中序遍历根节点在中间,后序遍历根节点最后访问。非递归遍历使用栈实现,后序遍历的非递归实现尤为关键。这些内容为后续学习堆等高级数据结构奠定了基础。
2025-10-22 21:00:50
816
原创 【面向对象:封装】
本文介绍了Java面向对象编程中的封装特性及其访问控制权限修饰符。封装通过隐藏对象属性和实现细节,仅公开接口来控制访问。文章详细讲解了四种访问修饰符:public(任何位置可访问)、private(仅类体内可访问)、protected(子类和同包可访问)以及默认/包访问权限(仅同包可访问)。通过具体代码示例展示了不同修饰符的效果,并解释了其访问限制规则,帮助理解Java如何实现数据保护和控制访问权限。
2025-09-18 21:04:21
264
原创 【对象克隆】
Java对象克隆摘要 Java通过clone()方法实现对象克隆,需注意以下要点: 基本流程:重写Object类的clone()方法,实现Cloneable接口标记可克隆,调用时处理异常。 浅拷贝问题:默认克隆方式会直接复制引用类型成员,导致原对象和副本共享引用对象。 深拷贝解决方案:需要对引用类型成员也进行克隆,确保原对象和副本完全独立。 典型场景如学生-导师关系中,修改导师信息会影响所有浅拷贝副本,而深拷贝可避免这种问题。克隆机制为对象复制提供了便捷方式,但需根据需求选择适当的拷贝深度。
2025-07-11 15:26:33
1419
1
原创 【接口实例-Comparable接口和Comparator接口】
我们来思考以下这个接口的优点和缺点,优点毋庸置疑,给自定义的对象提供了一个比较大小的规则,但是缺点也很明显,这个接口的耦合性太强了,假设在一个大型的项目中使用了这个接口进行排序,一旦compareTo方法的实现被修改,将会对所有的Student类的排序结果造成影响,耦合性太强了。可以看到,在排序之后,年龄小的student对象被放在数组的前面,年龄大的student对象被放在数组的后面。可以看到,在修改了比较器的实现之后,年龄大的学生被放在数组前面,年龄小的学生被放在数组后面。可以看到,这次的排序成功了。
2025-07-10 17:13:37
632
原创 Java面向对象(3)
Java面向对象编程中的代码块与包机制摘要: 代码块分类与执行顺序: 静态代码块(类加载时执行) 构造代码块(实例化对象时在构造方法前执行) 局部代码块(方法体内执行) 执行顺序为:静态→构造→局部代码块 包机制: 包相当于文件目录,用于组织管理类 自定义包通过IDE创建package实现 import语句用于导入特定类(不建议使用*通配符导入整个包) 类名冲突时需使用全限定类名(如java.util.Date) 关键点:静态代码块优先执行,构造代码块初始化成员变量,import导入应精确到具体类以避免命名
2025-07-03 12:55:43
481
原创 【Java类和对象(2)】
本文介绍了Java中static关键字的使用,通过学生类案例展示了static修饰变量的特性。普通成员变量count在每次创建对象时都被初始化为0,无法记录对象总数。使用static修饰count后,该变量存储在方法区,不依赖对象实例,能够正确统计创建的对象数量(从1递增到5)。测试代码验证了static变量的特点:即使对象引用为null,仍可通过类名直接访问static变量。static变量在类加载时初始化,生命周期独立于对象,是解决对象计数等问题的有效方案。
2025-06-13 21:45:27
832
原创 【Java类和对象(1)】
Java是一门面向对象的编程语言,要学习Java就离不开学习面向对象,本篇文章将简单的介绍一下Java的类和对象,为后续的面向对象的学习做一个铺垫。编程语言分为两种,一种是面向过程的编程语言(例如C语言),另一种是面向对象的编程语言。而Java是一种纯面向对象的编程语言。
2025-06-06 11:04:50
1461
2
原创 Java程序设计的基本结构(1)
本文将介绍Java中的基本概念,包括:java入门案例HelloWorld、数据类型、变量与常量、运算符、字符串、输入与输出、控制流程,数组。笔者也会介绍一些经典的案例、进行源代码的解读。本文部分示例代码参考了Java经典入门书籍:《Java核心技术》第十二版第三章中的内容。
2025-05-29 20:04:26
1699
2
原创 浅浅打个招呼
在本科期间,我学习过JAVA语言以及相关技术栈,我的同学中也有在大厂实习并转正的,在和他的沟通交流中,我得知从事计算机编程开发工作并不仅仅掌握一门计算机编程语言就可以了,而是要根据具体的业务需求,结合自身的专业知识分析需求场景,用合适的计算机语言进行编程,实现需求。所以,在刚开始的时候要一门编程语言为主线,在学习编程语言的同时学习计算机专业知识。除此之外要多做项目,多刷实习。所以,笔者打算不挑食,这三门编程语言全部都学,考虑到上手难度和实用性,笔者打算从JAVA起手,每天学习编程的时间在5个小时以上。
2025-03-06 22:36:30
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅