diff --git "a/BACKUP/44_8\346\234\210\344\273\275\350\256\241\345\210\222\360\237\227\223\357\270\217.md" "b/BACKUP/44_8\346\234\210\344\273\275\350\256\241\345\210\222\360\237\227\223\357\270\217.md"
index 843a4e8..f3de323 100644
--- "a/BACKUP/44_8\346\234\210\344\273\275\350\256\241\345\210\222\360\237\227\223\357\270\217.md"
+++ "b/BACKUP/44_8\346\234\210\344\273\275\350\256\241\345\210\222\360\237\227\223\357\270\217.md"
@@ -2,11 +2,15 @@
八月份已经过得差不多了,补充下八月份的计划
##
-- [ ] 准备面试(八股)模拟面试
+- [x] 准备面试(八股)模拟面试
- [x] 完成公司项目开发并上线
-- [ ] 毕设提前了解,确定选题
-- [ ] 算法训练
+- [x] 毕设提前了解,确定选题
+- [x] 算法训练
- [x] 熟悉项目
- [ ] 看一本书
- [x] 完成实习的周记
-- [ ] 单词500
\ No newline at end of file
+- [x] 单词500
+
+---
+
+书没看
\ No newline at end of file
diff --git a/README.md b/README.md
index 89854a2..9d66a45 100644
--- a/README.md
+++ b/README.md
@@ -51,15 +51,15 @@
- [单例模式](https://github.com/HealUP/MyBlog/issues/40)--2023-07-10
- [策略模式](https://github.com/HealUP/MyBlog/issues/39)--2023-07-06
## TODO
-TODO list from [8月份计划🗓️](https://github.com/HealUP/MyBlog/issues/44)--5 jobs to do--3 jobs done
+TODO list from [8月份计划🗓️](https://github.com/HealUP/MyBlog/issues/44)--1 jobs to do--7 jobs done
+- [x] 准备面试(八股)模拟面试
- [x] 完成公司项目开发并上线
+- [x] 毕设提前了解,确定选题
+- [x] 算法训练
- [x] 熟悉项目
- [x] 完成实习的周记
-- [ ] 准备面试(八股)模拟面试
-- [ ] 毕设提前了解,确定选题
-- [ ] 算法训练
+- [x] 单词500
- [ ] 看一本书
-- [ ] 单词500
TODO list from [🗓️7月份计划](https://github.com/HealUP/MyBlog/issues/38) all done
diff --git a/feed.xml b/feed.xml
index d12fb69..02333cc 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1,17 +1,17 @@
-
统一建模语言(Unified Modeling Language,缩写UML)是非专利的第三代建模和规约语言。 UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。 分类: @@ -56,7 +56,7 @@ UML是一种开放的方法,用于说明、可视化、构建和编写一个 组合:部分若脱离了整体,则不复存在 关联:长期性的 依赖:临时性的
-]]>思路:使用KMP算法,一定要构造next数组(即前缀表)
@@ -132,7 +132,7 @@ UML是一种开放的方法,用于说明、可视化、构建和编写一个 } } -]]>
单例模式就是一个类只能有一个对象 @@ -262,7 +262,7 @@ UML是一种开放的方法,用于说明、可视化、构建和编写一个 }
总结::一般情况下,不建议使用懒汉方式,建议使用饿汉方式(线程安全,但没有懒加载)。只有在要明确实现 lazy loading 效果时,才会使用登记方式。如果涉及到反序列化创建对象时,可以尝试使用枚举方式。如果有其他特殊的需求,可以考虑使用双检锁方式。
-]]>
索引就是用来帮助表快速检索目标数据的 那么,索引有哪几种创建方式: @@ -535,7 +535,7 @@ DROP INDEX indexName ON tableName; 2.误区:虽然MySQL默认会使用主键上建立的索引作为聚簇索引,但也可以指定其他字段上的索引为聚簇索引,一般聚簇索引要求索引必须是非空唯一索引才行。 3.如果表中就算没有定义主键,InnoDB中会选择一个唯一的非空索引作为聚簇索引,但如果非空唯一索引也不存在,InnoDB隐式定义一个主键来作为聚簇索引(一般适合采用带有自增性的顺序值)。
-]]>时间复杂度:nlogn
具体步骤如下:
@@ -621,7 +621,7 @@ DROP INDEX indexName ON tableName; } } -]]>思路:遍历每一层的时候,记录次数;当该节点的左右节点都为空的时候,直接返回当前的深度即可,如果左右节点不为空就加入队列
@@ -651,7 +651,7 @@ DROP INDEX indexName ON tableName; } } -]]>该题目和116的区别:就是116题是完全二叉树,这道题不是完全二叉树,题解完全一样的。
略
@@ -706,7 +706,7 @@ class Solution { } } -]]>思路:
@@ -744,7 +744,7 @@ class Solution { } } -]]>思路:层序遍历,取每一层的最大值,放到一维数组,最后返回结果集
@@ -806,7 +806,7 @@ class Node { } }; -]]>思路:依然是层序遍历,只是节点的孩子有多个了,children也是List
类型的,将节点的所有孩子遍历后全部放入队列即可:
思路:
class Solution {
public List<List<Integer>> levelOrderBottom(TreeNode root) {
/*思路:
@@ -891,7 +891,7 @@ class Node {
}
}
-]]>@@ -958,7 +958,7 @@ class Solution { } } -]]>思路:
思路分析:根据题目示例 matrix = [[1,2,3],[4,5,6],[7,8,9]] 的对应输出 [1,2,3,6,9,8,7,4,5] 可以发现,顺时针打印矩阵的顺序是 “从左向右、从上向下、从右向左、从下向上” 循环。
class Solution {
@@ -1004,7 +1004,7 @@ class Solution {
小厂笔试第一题
-]]>
解决方案包括递归法和非递归法:
@@ -1076,7 +1076,7 @@ class Solution { } -]]>
双周赛 —6300. 最小公共值
题目链接:https://leetcode.cn/contest/biweekly-contest-96/problems/minimum-common-value/
自己写的:
@@ -1130,7 +1130,7 @@ class Solution { } } -]]>一些提示:
指数阶:增长得非常快,在实际应用中一般是不能被接受的。若一个问题使用「暴力枚举」求解的时间复杂度是 O(2^n) ,那么一般都需要使用**「动态规划」或「贪心算法」**等算法来求解
思路分析:
使用一个数组记录字符串S出现的次数,若该字母出现了一次,该位置的元素值加一;再遍历另外一个字符串,若出现一次就在数组对应位置的值减一。
@@ -1235,7 +1235,7 @@ resSet.stream():对 resSet 集合进行流操作,返回一个 Stream<Inte } } -]]>
class Solution {
public int findKthLargest(int[] nums, int k) {
// 快速排序 小的放到右边,大的放到左边即可
@@ -1273,7 +1273,7 @@ resSet.stream():对 resSet 集合进行流操作,返回一个 Stream<Inte
}
}
-]]>理论基础:快速排序是一种常见的排序算法,使用分治的思想来排序一个数组或列表。它的基本思想是选择一个基准数,将数组分成两个部分,一部分是小于基准数的,另一部分是大于等于基准数的,然后再对这两部分递归地进行排序。
好的情况:时间复杂度:nlogn
@@ -1373,7 +1373,7 @@ resSet.stream():对 resSet 集合进行流操作,返回一个 Stream<Inte } -]]>二分查找法是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半
@@ -1460,7 +1460,7 @@ resSet.stream():对 resSet 集合进行流操作,返回一个 Stream<Inte return -1; } -]]>
通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。
初刷(一题控制在半小时)
@@ -1547,10 +1547,10 @@ resSet.stream():对 resSet 集合进行流操作,返回一个 Stream<Inte@@ -1572,21 +1572,21 @@ resSet.stream():对 resSet 集合进行流操作,返回一个 Stream<Inte由于自己练手项目的数据库用的mongodb,想着练手,不重要,当时没做安全考虑,将配置文件上传到了仓库。后来想着还是添加到忽略的文件中,但是不起作用,改得了一次提交,改不了所有的提交记录,由于之前的提交记录仍然存在账号密码,想着应该没人会搞吧,即使搞了也不重要,就没去折腾了。
还是同样的操作,重建了数据库,这次快多了。设置了比较强的密码!!
期待下一次!🥲 💤
-]]>接下来的日子里,忙项目、背面经、找实习、备考等等,似乎忙不过来了 计划一下,好好渡过,忙有所得,忙有所思 加油吧!
-]]>电脑买的是拯救者的y7000,20款的,当时花了6100左右,想着以后可以自己扩展内存条,并且对硬盘空间要求不是很大,就买了8g的内存,512的硬盘款的,便宜点。具体配置:
@@ -1610,8 +1610,8 @@ resSet.stream():对 resSet 集合进行流操作,返回一个 Stream<Inte测试actions