自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

原创 [Java恶补day14] 56. 合并区间

题目要求合并重叠的区间数组。思路是先对区间按左端点排序,然后遍历每个区间,判断是否与结果列表中的最后一个区间重叠。若重叠则合并右端点,否则直接加入结果列表。时间复杂度为O(nlogn),主要用于排序。示例展示了合并[1,3]和[2,6]为[1,6]的过程。Java实现通过排序后逐个处理区间,使用ArrayList存储结果,最后转为数组返回。

2025-06-03 22:42:49 420

原创 [Java恶补day13] 53. 最大子数组和

本文介绍了求解最大子数组和的算法。题目要求找出数组中连续子数组的最大和(至少包含一个元素)。由于数组可能包含负数,无法使用滑动窗口,转而采用前缀和方法。通过维护当前前缀和和最小前缀和,在遍历数组时动态计算最大差值。关键步骤:更新当前前缀和→计算差值→更新最小前缀和。时间复杂度O(n),空间复杂度O(1)。示例代码使用Java实现,参考了灵神的解法。

2025-06-02 22:28:05 578

原创 [Java恶补day12] 不刷题,整理模板

文章介绍了两个经典的双指针算法问题。11.盛最多水容器使用相向双指针,计算最大容积时移动较矮的指针,时间复杂度O(n)。42.接雨水提供了两种解法:方法1使用前缀/后缀数组存储最大高度,方法2优化为双指针边移动边更新最大值,空间复杂度优化至O(1)。两种解法均基于木桶原理,通过计算左右最大高度的较小值来确定每个位置的储水量,体现了双指针在空间优化中的高效性。

2025-05-31 15:34:46 869

原创 [Java恶补day11] 不刷题,整理模板

摘要 167.两数之和II和15.三数之和都采用了双指针技术解决有序数组的求和问题。 167题通过左右指针相向移动,在已排序数组中高效寻找两数之和等于目标值。当sum小于target时右移左指针,sum大于target时左移右指针。时间复杂度O(n),空间O(1)。 15题在固定第一个数后,用双指针寻找另外两个数,使三数之和为0。关键是通过排序和跳过重复元素来避免重复解,同时利用提前判断优化效率。时间复杂度O(n^2),空间O(1)。 两题都利用了数组有序的特性,通过指针移动策略有效缩小搜索范围,避免暴力解

2025-05-30 21:25:04 873

原创 [Java恶补day10] 560. 和为K的子数组

摘要:本文介绍了使用前缀和和哈希表高效统计数组中连续子数组和为k的方法。通过计算前缀和sum[i](sum[0]=0),在遍历时用哈希表记录各前缀和出现次数,当sum[j]-k存在于哈希表时,说明存在符合条件的子数组。该方法将时间复杂度优化至O(n),空间复杂度O(n),避免了O(n^2)的暴力解法。示例展示了具体计算过程,并通过Java代码实现。参考灵神解析提供了更深入的数学原理。

2025-05-29 22:39:10 865

原创 [Java恶补day9] 438.找到字符串中所有字母异位词

本文介绍了一种使用定长滑动窗口寻找字符串中所有异位词子串的算法。通过统计字符出现次数来判断是否为异位词,具体实现步骤如下:1)比较字符串s和p的长度;2)统计p中各字符出现次数;3)使用滑动窗口遍历s,维护窗口内字符计数;4)当窗口大小等于p长度时,比较两个字符计数数组,若相同则记录起始位置。该算法时间复杂度为O(∣Σ∣m),空间复杂度O(∣Σ∣),适合处理包含小写字母的字符串。示例展示了算法在"cbaebabacd"和"abab"上的应用。

2025-05-28 20:40:47 668

原创 [Java恶补day8] 3. 无重复字符的最长子串

摘要: 本文介绍了一种寻找字符串中最长无重复字符子串的滑动窗口算法。通过维护一个哈希表记录字符位置,动态调整窗口边界来处理重复字符。当遇到重复字符时,若其在当前窗口内则移动窗口左边界,否则保留窗口。算法遍历字符串时持续更新最大子串长度,时间复杂度为O(n)。测试用例表明该方法能正确识别最长无重复子串。该解法有效利用了滑动窗口和哈希表的特点,适用于各种字符组成的字符串。

2025-05-27 20:46:42 452

原创 [Java恶补day7] 42. 接雨水

摘要: 该问题要求在给定高度数组表示的柱子图中,计算能接住的雨水总量。使用双指针法,从数组两端向中间遍历,维护左右两侧的最大高度lMax和rMax。每次迭代中,较小的一侧决定当前柱子的积水量(max - height[p]),并移动对应指针。时间复杂度为$O(n)$,空间复杂度$O(1)$。示例1输入[0,1,0,2,1,0,1,3,2,1,2,1]输出6,示例2输入[4,2,0,3,2,5]输出9。

2025-05-26 21:23:24 570

原创 [Java恶补day6] 15. 三数之和

这篇题解要求找出数组中所有不重复的三元组,使其和为0。核心思路是对数组排序后使用双指针法:固定第一个数,将问题转化为在两数之和中使用双指针查找另外两个数。通过排序确保结果不重复,并在遍历时跳过重复元素。时间复杂度为O(n²),空间复杂度为O(n)。

2025-05-25 22:37:50 728

原创 [Java恶补day5] 11. 盛最多水的容器

这篇文章探讨了如何计算由两条垂直线与x轴构成的容器的最大储水量。使用双指针法,从数组两端向中间移动,每次计算当前两条线构成的容器容积(最短线高度×线间距),并更新最大值。指针移动策略是:每次移动较短线对应的指针,以寻求更大的容积可能。这种方法的时间复杂度为O(n),空间复杂度为O(1)。示例展示了算法的具体应用和正确性验证。

2025-05-24 22:57:23 335

原创 [Java恶补day4] 283. 移动零

该问题要求将数组中的所有0移动到末尾,同时保持非零元素的相对顺序,并且必须原地操作。解决方案采用双指针法,左指针指向0,右指针指向非零元素。通过交换左右指针的元素,实现0的移动。具体分为三种情况:1)左指针指向0,右指针指向非零元素时,交换两者;2)双指针均指向0时,右指针后移;3)左指针指向非零元素时,双指针同时后移。循环结束条件为右指针等于数组长度。该方法确保了操作次数的最小化,且无需复制数组。

2025-05-23 19:46:21 340

原创 [Java恶补day3] 128. 最长连续序列

本文介绍了一种在未排序整数数组中寻找最长连续序列长度的高效算法。该算法通过使用HashMap存储数组元素,避免了重复遍历,并确保时间复杂度为O(n)。核心思想是找到每个连续序列的开头,然后通过while循环找到该序列的结尾,从而计算出序列的长度。最终,通过比较所有序列的长度,返回最长的序列长度。该算法在空间复杂度上为O(n),适用于处理大规模数据。

2025-05-22 22:38:27 703

原创 [Java恶补day2] 49. 字母异位词分组

本文介绍了一种将字母异位词分组的方法。字母异位词是指由相同字母重新排列组成的单词。通过将每个字符串的字母排序,可以将具有相同字母异位词的字符串归类到同一组。具体实现使用哈希表,键为排序后的字符串,值为原始字符串列表。算法的时间复杂度为O(nk logk),空间复杂度为O(nk),其中n为字符串数量,k为字符串中最大字母数。最终返回分组后的字符串列表。

2025-05-21 21:43:39 315

原创 [Java恶补day1] 1. 两数之和

本文介绍了在整数数组中找到两个数,使其和等于目标值的三种解法。第一种解法使用嵌套循环,时间复杂度为O(n^2),通过遍历数组中的每一对元素来寻找符合条件的组合。第二种解法优化了循环结构,减少了不必要的遍历,但仍保持O(n^2)的时间复杂度。第三种解法利用哈希表(查找表法),将时间复杂度降低到O(n),通过存储已遍历的元素及其索引,快速查找是否存在与当前元素配对的数。这三种方法分别展示了从简单到高效的算法优化过程,适用于不同场景下的需求。

2025-05-20 11:31:49 239

原创 Java数据结构学习记录

整理在学习Java数据结构时遇到的一些bug/问题/心得记录。

2024-10-13 21:27:57 302

原创 LPSolver使用Q&A

【解决方法】检查一下该lp文件所在目录的路径名是否包含非法字符(如⭐等),如有,则删除这些非法字符,即可正常保存和显示文件的内容。

2024-10-12 09:47:25 260

原创 MaxCompute学习记录

该列无法解析,即源表里找不到对应的字段。:待更新。

2024-02-05 11:22:59 597 1

原创 tensorflow学习过程记录

tensorflow学习过程记录

2023-12-17 17:09:30 583 1

原创 Anaconda3-2019.10安装tensorflow2.0.0过程记录

Anaconda2019.10安装tensorflow2.0.0记录

2023-12-16 15:09:11 727 4

原创 Anaconda3-4.2.0安装tensorflow1.X过程记录

如何正确在anaconda中安装tensorflow1.X版本(个人记录)

2023-12-13 18:56:29 712 1

原创 Android原生+Spring Boot+Vue3项目实战

作为前后端分离的项目,如何在Android原生,Spring Boot,Vue中找到奥秘呢?

2023-06-06 14:32:59 400

原创 前端的技巧记录

前端实习前端技巧记录

2023-03-02 16:20:10 127

原创 github相关操作&注释规范记录

github相关操作&注释规范记录

2022-05-04 17:39:24 479

原创 Android Studio项目开发记录

SQLite of Android Studio

2021-12-30 18:21:59 9110

原创 操作系统原理实验错题&知识点

操作系统原理常见知识点及题目

2021-07-20 11:53:28 1082

原创 计算机网络错题

计算机网络错题整理

2021-07-19 22:53:57 2943 2

原创 操作系统原理知识点&错题

操作系统原理知识点及错题整理

2021-07-19 22:46:18 2496

原创 操作系统原理错题整理

操作系统原理错题整理

2021-07-19 22:43:56 4371

原创 数据结构错题整理(二)

数据结构错题整理

2021-01-31 18:30:17 6418

原创 数据结构错题整理

数据结构错题整理及思维导图

2021-01-31 18:12:15 2466

原创 大学物理(Ⅱ)公式整理

大学物理(Ⅱ)公式

2021-01-30 14:05:15 20225

原创 计算机系统原理错题整理

计算机系统原理错题整理

2021-01-26 13:50:46 3849

C语言链表相关的代码.cpp

对于学习C语言的学习者们,链表是比较重要的知识,链表在数据结构的学习过程中占据了很大一部分的基础,这里给出一些比较基础和重要的代码,供参考。

2020-04-25

Dev-Cpp 5.11 TDM-GCC 4.9.2 Setup.zip

这是Dev-C++的安装包,供所需码农、同学使用。将安装包解码后,点击安装程序exe,根据所给的提示进行安装,就可以很快的安装成功啦。希望可以给许多人以帮助!!!!!

2020-03-01

空空如也

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

TA关注的人

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