- 博客(26)
- 收藏
- 关注
原创 题目 :找到所有数组中消失的数字
题目要求找出数组中1到n范围内缺失的数字。解法一使用计数数组,时间复杂度O(n),空间O(n),逻辑清晰但不满足进阶;解法二采用原地正负标记,通过将对应下标元素置负来标记数字出现,遍历后仍为正的下标对应缺失数字,实现O(n)时间、O(1)额外空间(返回结果除外),满足进阶要求。关键点:用abs()取原始值,注意下标与数字差1。初学者应先写直观解法,再优化。
2026-10-12 18:59:38
200
原创 题目:统计数组中比当前数字小的元素数目
题目要求统计数组中每个元素比其小的元素个数。采用暴力解法:对每个元素,遍历整个数组统计小于它的元素数量。时间复杂度为O(n²),空间复杂度O(1)(不计输出)。代码实现简洁,通过双重循环完成对比计数,适用于数据规模较小的场景。
2026-10-12 18:58:49
211
原创 Python 初学者刷算法:错误的集合(LeetCode 645)
本题要求找出数组中重复和丢失的数字。初学者易误判数组有序、重复相邻或丢失值与重复值相关,导致多次错误。正确解法需全局统计:用长度为 n+1 的计数数组记录每个数字出现次数,遍历后找出出现2次的为重复数,出现0次的为丢失数。核心在于避免局部推断,通过计数实现精准定位。
2026-10-10 10:04:30
301
原创 Python 初学者刷算法:最大连续 1 的个数(LeetCode 485)
本文详解LeetCode 485题“最大连续1的个数”,适合Python初学者入门。通过线性遍历数组,用两个变量分别记录当前连续1的个数和历史最大值,关键在于遇到0时更新最大值并重置计数器,且循环结束后需再次比较。推荐使用max()函数简化逻辑,避免三元表达式语法错误。强调边界情况处理(如数组以1结尾、全0等),并提供三种写法:基础版、优化版、简洁版,帮助理解双变量、遍历与边界处理的核心思想,是掌握连续段问题的良好起点。
2026-10-10 10:03:05
178
原创 LeetCode Q2. 重新排列数组(shuffle)题解 —— Python 初学者向
pythonnums[0:n] # 取下标 0 到 n-1nums[n:2*n] # 取下标 n 到 2n-1nums[:n] # 从头到 n-1nums[n:] # 从 n 到末尾规则,含头不含尾。本题是数组入门题,核心是下标映射和切片操作。踩的几个坑(逗号 vs 冒号、切片赋值可迭代性、边删边取越界)都是 Python 初学者高频错误,值得反复看。关键收获切片用冒号,不是逗号。切片赋值右边必须是列表。循环里别改列表长度,否则下标失效。popinsert中间操作都是O(n),嵌套就是。
2026-10-08 18:44:45
209
原创 LeetCode Q1. 数组串联(getConcatenation)题解
pythona = [] # 空列表a = [1, 2, 3] # 直接初始化a = [0] * 10 # 定长,填 0a = [i for i in range(10)] # 列表推导式python[0] * n[None] * n本题是数组入门题,重点不在算法难度,而在于熟悉 Python 列表的多种操作:定长初始化、拼接、重复、复制、切片。同一个"串联两遍"的需求,可以有 5 种写法,这也是刷简单题的价值所在——把语言特性练熟。
2026-10-08 18:00:39
283
原创 【无标题】
输入 a(x) → P(升维)→ 4 层 Fourier layer → Q(降维)→ 输出 u(x):卷积在空间域很慢(O(n2)O(n2)),在频率域很快(O(nlogn)O(nlogn))。每个“点”是一个函数 f(x)f(x)。:初始条件 u0(x)u0(x) → t=1t=1 时的解 u(x,1)u(x,1)。输出:频率域的权重 f^(k)f^(k),表示频率 kk 的强度。,比如 (1,2)(1,2)、(1,2,3)(1,2,3)。:扩散系数 a(x)a(x) → 解 u(x)u(x)。
2026-09-27 15:57:30
302
原创 Fourier Neural Operator(FNO)学习笔记
傅里叶神经算子(FNO)通过在频率域参数化积分核,实现分辨率无关的PDE求解。利用FFT将卷积转为乘法,加速计算并支持零样本超分辨率;换参数无需重训,仅需一次前向传播。其核心优势在于:频率域参数与网格无关,可跨分辨率通用;相比传统方法快三个数量级,在Burgers、Darcy及湍流NS方程上显著降低误差,是首个实现湍流区域分辨率无关解算的深度学习方法。
2026-09-27 15:48:57
643
原创 JavaEE学习之数据库编程(含实例演示完整代码)
Spring JDBC 抽象了底层的 JDBC 代码,使得开发者无需直接处理繁琐的 JDBC 细节,如数据库连接的创建和管理、资源的释放等。Spring 是一个广泛应用于企业级应用开发的开源框架,它提供了全面的基础设施支持,包括依赖注入、面向切面编程、事务管理等功能。在项目的构建文件(如 Maven 的 pom.xml 或 Gradle 的 build.gradle)中引入 Spring JDBC 的相关依赖。:执行批处理操作,适用于大量数据的插入、更新或删除。:用于执行查询语句并返回一个单一的结果对象。
2024-10-14 18:34:27
1202
原创 JavaEE之Spring AOP 学习(含练习实例代码之登录操作Java)
在现代软件开发中,Spring AOP(Aspect-Oriented Programming,面向切面编程)作为一种强大的技术,为开发者提供了高效的代码管理和功能扩展方式。
2024-10-14 17:07:11
1330
原创 Android Studio 中 Java 语言实现按钮的创建与使用
首先,在布局文件中添加按钮并设置 ID。打开 XML 布局文件,通常位于res/layout目录下。比如在。
2024-10-09 17:16:57
1314
原创 Spring入门例子之实现依赖注入
在传统的编程模式中,对象的创建和依赖关系的管理通常由对象自身负责,这会导致代码的高耦合性。而 Spring 框架通过控制反转(Inversion of Control,IoC)和依赖注入(Dependency Injection,DI)的方式来管理对象之间的依赖关系。控制反转是一种设计原则,它将对象的创建和依赖关系的管理从对象自身转移到外部容器(在 Spring 中就是 Spring 容器)。
2024-09-26 15:48:34
404
原创 Spring入门之第一个Helloworld程序
管理对象创建:Spring 可以自动创建和管理对象(bean),你无需手动编写大量的对象创建代码,降低了对象创建的复杂性。依赖注入:通过依赖注入机制,轻松实现对象之间的解耦,使得代码更易于测试和维护。
2024-09-26 15:36:57
404
原创 JAVA基础语法知识应用实践之ATM项目学习(含完整源代码以及项目框架)
在Account.java里定义:cardId(卡号),userName(用户名),sex(性别),passWord(密码),money(余额),limit(限额),全部选中这些变量生成它们的getter和setter方法。return sex;生成它们的getter和setter方法:右击空白处->generate->getter和setter->全选->生成在ATM.java里定义一个名为accounts的集合,用于存储Account类型的对象。
2024-09-25 19:09:34
976
原创 新手IDEA之控制台打印乱码处理(JDK版本升级导致已解决)
在 “Global Encoding”、“Project Encoding” 和 “Default encoding for properties files” 这三个选项中都选择 “UTF-8”。在右侧的配置窗口中,找到 “VM options”(如果没有这个选项,可以点击左上角的 “Modify options”,然后选择 “Add VM options” 来添加这个选项)。在打开的 “Run/Debug Configurations” 窗口中,找到你的应用程序的运行配置(通常是你的主类名)。
2024-09-20 18:54:26
816
原创 Java练习题之搜索某个元素在数组中插入的位置
题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
2024-09-16 20:32:36
756
原创 idea创建web项目 (测试tomcat配置是否能够在idea里使用)
创建项目 添加web框架支持:右击项目选择add framework support 添加web application 添加完成如下 点击编辑配置 添加新配置 选择tomcat local选项 编辑 application server(我这里之前默认用的是9,但是我新配置了10 所以我要更改) 点击运行 浏览器显示出你的index.jsp页面说明配置完成 浏览器页面(注意这个8080是默认端口号 web2是该项目名字 如下设置)
2024-09-16 15:42:43
502
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1