- 博客(474)
- 资源 (19)
- 收藏
- 关注

原创 【LeetCode】每日一题大合集(持续更新~)
我们每次对一道题AC之后,绝不能就此满足。我们应该想办法让我们的代码能更加的减少时间复杂度和空间复杂度。
2022-03-30 14:40:29
1504

原创 你不得不知道的xxx系列汇总(10.29更新)
你不得不知道系列节目基本上全都是我对上课学习内容的梳理,整理下来方便自己遗忘的时候回来查找,大多都是一些很基础的东西,可以作为入门级来进行学习。
2020-10-09 20:22:15
2041
原创 【Java开发规范】IDEA 设置 text file encoding 为 UTF-8,且文件的换行符使用 Unix 格式
阿里巴巴Java开发规范:【强制】IDE 的 text file encoding 设置为 UTF-8;IDE 中文件的换行符使用 Unix 格式,不要使用Windows 格式。
2024-06-17 15:26:19
1238
原创 【LeetCode】剑指 Offer Ⅱ 第8章:树(12道题) -- Java Version
本章主要介绍了树这种结构,尤其着重介绍了二叉树、二叉搜索树,以及Java中具有平衡二叉搜索树性质的两种数据结构:TreeSet 和 TreeMap。对应二叉树的宽搜,我们通常使用队列来辅助解决,而对于二叉树的深搜,则推荐使用栈来辅助解决。此外,二叉搜索树是一种特殊的二叉树,如果按照中序遍历的顺序遍历一棵二叉搜索树,那么就能够实现从小到大的顺序依次遍历该树的每个节点。
2023-11-02 15:30:48
566
原创 【LeetCode】剑指 Offer Ⅱ 第7章:队列(6道题) -- Java Version
本章主要介绍了队列这种数据结构。如果一个数据集合的添加、删除操作满足“先入先出”的特点,即最先添加的数据最先被删除,那么可以用队列来实现这个数据集合。队列经常被用来实现二叉树的广度优先搜索(推荐使用双队列的方案)、以及处理滑动窗口问题。
2023-10-14 13:44:48
442
原创 【LeetCode】剑指 Offer Ⅱ 第6章:栈(5道题) -- Java Version
本章主要介绍了栈这种常见的数据结构。栈的插入、删除操作都发生在栈的顶部。在栈中插入、删除数据的顺序为“后入先出”,即最后添加的数据最先被删除。Java的类型Stack实现了栈的功能。
2023-10-09 16:53:35
481
原创 【LeetCode】剑指 Offer Ⅱ 第5章:哈希表(6道题) -- Java Version
本章主要练习了基本的哈希表设计和应用:哈希表的设计(剑指 Offer II 030. 插入、删除和随机访问都是O(1) 的容器、剑指 Offer II 031. LRU 缓存)【HashMap 与 List的结合】;哈希表的应用(剑指 Offer II 032. 有效的变位词、剑指 Offer II 033. 变位词组、剑指 Offer II 034. 外星语言是否排序、剑指 Offer II 035. 最小时间差)。
2023-08-28 23:04:39
463
原创 【LeetCode】剑指 Offer Ⅱ 第4章:链表(9道题) -- Java Version
本章题目包含知识点有:哨兵节点、双指针、反转链表、双向链表、循环链表。【双指针】021. 删除链表的倒数第 N 个结点 \ 022. 链表中环的入口节点 \ 023. 两个链表的第1个重合节点;【反转链表】024. 反转链表 \ 025. 链表中的数字相加 \ 026. 重排链表 \ 027. 回文链表;【双向和循环链表】028. 扁平化多级双向链表 \ 029. 排序的循环链表。
2023-08-20 23:32:25
1334
原创 【LeetCode】剑指 Offer Ⅱ 第3章:字符串(7道题) -- Java Version
本章的题目主要分为两种类型:变位词 和 回文;对应的解题思路主要是双指针,对于变位词,我们可以使用一个哈希表来统计每个字符出现的次数,从而判断两个字符串是不是一组变位词。对于回文,我们可以选择从两端向中间移动双指针,也可以选择从中间向两端移动。014. 字符串中的变位词 \ 015. 找到字符串中所有字母异位词 \ 016. 不含重复字符的最长子字符串 \ 017. 最小覆盖子串【变位词】;018. 有效的回文 \ 019. 最多删除一个字符得到回文 \ 020. 回文子字符串的个数【回文字符串】。
2023-08-05 20:01:31
664
原创 【LeetCode】剑指 Offer Ⅱ 第2章:数组(8道题) -- Java Version
第2章主要涉及算法有双指针(滑动窗口)、前缀和(一维/二维)、哈希表(优化查询);006. 排序数组中两个数字之和 \ 007. 数组中和为 0 的三个数 \ 008. 和大于等于 target 的最短子数组 \ 009. 乘积小于 K 的子数组【双指针】;010. 和为 k 的子数组 \ 011. 0 和 1 个数相同的子数组 \ 012. 左右两边子数组的和相等 \ 013. 二维子矩阵的和【前缀和】.
2023-08-02 16:16:20
927
原创 【LeetCode】剑指 Offer Ⅱ 第1章:整数(5道题) -- Java Version
001. 整数除法【快速除】、002. 二进制加法【模拟:StringBuilder】、003. 前 n 个数字二进制中 1 的个数【动规 + 位运算】、004. 只出现一次的数字【位运算:按位取模】、005. 单词长度的最大乘积【位运算 + 模拟】。
2023-07-29 22:27:13
1194
原创 【AcWing】夏季每日一题2023 -- 4382. 快速打字 -- Java Version
芭芭拉是一个速度打字员。为了检查她的打字速度,她进行了一个速度测试。测试内容是给定她一个字符串 I,她需要将字符串正确打出。但是,芭芭拉作为一个速度打字员,在追求速度的同时,难免会发生一些错误,按错一些按键。最终,芭芭拉打出的字符串为 P。现在,芭芭拉想知道,能否仅通过删除一些额外字母的方式,将字符串 P 变为字符串 I。
2023-06-29 16:32:34
394
原创 【AcWing】夏季每日一题2023 -- 4440. 照相 -- Java Version
迫切希望在郡县集市上赢得最佳奶牛摄影师的农夫约翰正在尝试为他的 N 头奶牛拍摄一张完美的照片。农夫约翰拥有两种品种的奶牛:更赛牛(Guernsey)和荷斯坦牛(Holstein)。为了使他的照片尽可能地艺术,他想把他的奶牛排成一排,使得尽可能多的更赛牛处于队列中的偶数位置(队列中的第一个位置是奇数位置,下一个是偶数位置,以此类推)。
2023-06-28 14:51:19
397
原创 【AcWing】夏季每日一题2023 -- 4908. 饥饿的牛 -- Java Version
贝茜是一头饥饿的牛。每天晚上,如果牛棚中还有干草的话,贝茜都会吃掉其中的一捆。初始时,牛棚中没有干草。为了让贝茜不被饿死,农夫约翰制定了 N 个给贝茜送干草的计划。其中第 i 个计划是在第 di 天的白天给贝茜送去 bi 捆干草。
2023-06-27 22:25:34
396
原创 【LeetCode】每日一题 -- 1171. 从链表中删去总和值为零的连续节点 -- Java Version
给你一个链表的头节点head,请你编写代码,反复删去链表中由 总和值为 0 的连续节点组成的序列,直到不存在这样的序列为止。删除完毕后,请你返回最终结果链表的头节点。
2023-06-11 18:57:21
1051
原创 【LeetCode】每日一题 -- 1170. 比较字符串最小字母出现频次 -- Java Version
定义一个函数 f(s),统计 s 中(按字典序比较)最小字母的出现频次 ,其中 s 是一个非空字符串。现在,给你两个字符串数组待查表queries和词汇表words 。对于每次查询queries[i] ,需统计 words 中满足f(queries[i])< f(W)的 词的数目 ,W 表示词汇表words中的每个词。请你返回一个整数数组answer作为答案,其中每个answer[i]是第 i 次查询的结果。
2023-06-10 19:59:23
890
原创 【LeetCode】每日一题 -- 1240. 铺瓷砖 -- Java Version
你是一位施工队的工长,根据设计师的要求准备为一套设计风格独特的房子进行室内装修。房子的客厅大小为nx m,为保持极简的风格,需要使用尽可能少的 正方形 瓷砖来铺盖地面。假设正方形瓷砖的规格不限,边长都是整数。请你帮设计师计算一下,最少需要用到多少块方形瓷砖?
2023-06-08 13:43:04
1138
原创 【LeetCode】每日一题 -- 2611. 老鼠和奶酪 -- Java Version
有两只老鼠和 n 块不同类型的奶酪,每块奶酪都只能被其中一只老鼠吃掉。请你返回第一只老鼠恰好吃掉 k 块奶酪的情况下,最大 得分为多少。
2023-06-07 14:51:59
336
原创 【EXata】5.4 连接到互联网
EXata 允许在操作主机上运行的基于 Internet 的应用程序通过模拟网络连接到 Internet。这使得即时通讯、流媒体视频、VoIP 等应用程序可以像在现实世界中一样在 EXata 上运行。这是通过将仿真网络中的一个节点指定为互联网网关节点来实现的,该节点充当 EXata 内的仿真节点和互联网之间的边界节点。任何来自 EXata 场景或操作主机的流量,发往 Internet 的都将路由到此网关节点,然后再从那里路由到 Internet。类似地,来自互联网的任何响应都由互联网网关节点接收并随后转发到
2023-05-30 10:40:41
888
原创 【CS 61B】Data Structures, Spring 2021 -- Week 3 (6. DLLists, Arrays & 7. ALists & 8. Inheritance)
【CS 61B】Data Structures, Spring 2021 -- Week 3 (6. DLLists, Arrays & 7. ALists & 8. Inheritance),主要内容为:双向链表、数组、ArrayList、继承等。
2023-05-29 11:42:15
2111
原创 【CS 61B】Data Structures, Spring 2021 -- Week 2(3. Testing & 4. IntLists & 5. SLLists )
【CS 61B】Data Structures, Spring 2021 -- Week2 - Testing & References, Recursion, and Lists & SLLists, Nested Classes, Sentinel Nodes
2023-05-19 23:19:52
2377
1
原创 【CS 61B】Data Structures, Spring 2021 -- Week 1(1. Intro and 2. Classes, Lists, Arrays, Maps)
【CS 61B】Data Structures, Spring 2021 -- Week 1(1. Intro and 2. Classes, Lists, Arrays, Maps)
2023-05-14 16:31:31
2219
2
原创 【华为机考】专题突破 第二周:前缀和与差分 1109
专题突破 第二周:前缀和与差分 1109,前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和,而差分可以看成前缀和的逆运算。合理的使用前缀和与差分,可以将某些复杂的问题简单化。
2023-05-11 15:34:34
769
原创 【华为机考】模拟题:Words、Vowel、计算字符串重新排列数
模拟题:Words(句子的平均重量)、Vowel(元辅音大小写转换)、计算字符串重新排列数(字符串的全排列)--【100分简单题】,Scanner 输入模板总结。
2023-04-26 16:29:47
1501
1
原创 【华为机考】专题突破 第一周:单调栈 739 、503 、901、84
专题突破 第一周:单调栈 739 、503 、901、84,单调栈一般是用来解决需要寻找当前点的左右边界最大最小值之类的问题,求第一个最大用单调递增栈,求第一个最小用单调递减栈,根据左右,选择是前向遍历还是后向遍历。
2023-04-24 17:49:49
749
原创 【LeetCode】剑指 Offer 68. 二叉树中两个节点的最低公共祖先 p326 -- Java Version
剑指 Offer 68. 二叉树中两个节点的最低公共祖先 -- (解法:递归), 一共分为两小题:题目一:二叉搜索树的最近公共祖先,题目二:二叉树的最近公共祖先。
2023-04-23 21:39:03
672
原创 【LeetCode】剑指 Offer 67. 把字符串转换成整数 p318 -- Java Version
剑指 Offer 67. 把字符串转换成整数 -- (解法:字符数组遍历,考虑四种特殊情况),写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。
2023-04-23 19:36:21
737
原创 【LeetCode】剑指 Offer 66. 构建乘积数组 p312 -- Java Version
剑指 Offer 66. 构建乘积数组 -- (解法:构建乘积矩阵 B[i] = C[i] * D[i]),给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。
2023-04-23 15:29:01
680
原创 【LeetCode】剑指 Offer 65. 不用加减乘除做加法 p310 -- Java Version
剑指 Offer 65. 不用加减乘除做加法 -- (解法:位运算),写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。
2023-04-22 15:36:45
529
原创 【LeetCode】剑指 Offer 64. 求1+2+…+n p307 -- Java Version
剑指 Offer 64. 求1+2+…+n -- (解法:逻辑运算符短路 | 快速乘 | 库函数 ),求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
2023-04-22 14:08:48
755
原创 【LeetCode】剑指 Offer 63. 股票的最大利润 p304 -- Java Version
剑指 Offer 63. 股票的最大利润 -- (解法:一次遍历/动规)假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
2023-04-21 11:29:56
754
原创 【LeetCode】剑指 Offer 62. 圆圈中最后剩下的数字(约瑟夫环问题) p300 -- Java Version
剑指 Offer 62. 圆圈中最后剩下的数字 -- (解题方法:环形链表/模拟链表/数学分析),`0,1,···,n-1` 这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。
2023-04-20 15:19:48
617
原创 【LeetCode】剑指 Offer 61. 扑克牌中的顺子 p298 -- Java Version
剑指 Offer 61. 扑克牌中的顺子 -- (解法:排序 + 遍历),从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。
2023-04-19 15:46:52
478
原创 【LeetCode】剑指 Offer 60. n个骰子的点数 p294 -- Java Version
剑指 Offer 60. n个骰子的点数 --(解法:动态规划),把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。
2023-04-18 15:35:22
590
翻译 【EXata】3. Simulator 的基础知识(离散事件仿真、事件模拟)
在这一章中,我们将讨论EXata模拟器的基础知识。第 3.1 节提供了离散事件仿真的概述,第 3.2 节描述了在EXata中如何对协议进行建模。第 3.3 节提供了EXata中离散事件仿真的实现细节,而第 3.4 节描述了EXata模拟器的架构。
2023-04-18 00:02:06
1243
原创 【瑞吉外卖】001 -- 项目介绍与环境搭建
【瑞吉外卖】项目介绍与环境搭建,内容主要包括软件开发的整体介绍、瑞吉外卖的项目介绍、以及基础开发环境的搭建(Maven项目)等。
2023-04-17 21:22:45
1722
转载 【算法基础】equals() 与 “==” 的使用场景
== 的作用:基本类型:比较值是否相等;引用类型:比较内存地址值是否相等。equals 的作用:引用类型:默认情况下,比较内存地址值是否相等。可以按照需求逻辑,重写对象的equals方法。
2023-04-17 16:22:16
499
LCD 1602A使用说明书--.pdf
2021-03-22
c51v960a1.37.20.0.zip
2021-03-14
Fritzing_V0.9.3
2021-02-26
清理maven仓库中下载失败的依赖包
2020-11-25
Java实现电商网站的随机订单流水号
2020-09-09
GitHub以及码云平台搭建.pdf
2020-07-06
好友信息管理系统
2019-01-27
公共停车管理问题
2019-01-26
用二叉树表示家谱关系并实现各种查找功能
2019-01-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人