【大总结3】leetcode解题总览(算法、剑指offer、SQL、多线程、shell

leetcode 106. 从中序与后序遍历序列构造二叉树

leetcode105 前序中序遍历序列构造二叉树

leetcode107. 二叉树的层次遍历 II

leetcode108 将有序数组转换为二叉搜索树

leetcode109. 有序链表转换二叉搜索树

leetcode110. 平衡二叉树

leetcode111. 二叉树的最小深度

leetcode112 路径总和

leetcode113. 路径总和 II

leetcode114. 二叉树展开为链表

leetcode117. 填充每个节点的下一个右侧节点指针 II

leetcode116. 填充每个节点的下一个右侧节点指针

leetcode124. 二叉树中的最大路径和

leetcode129. 求根到叶子节点数字之和

leetcode144 二叉树的前序遍历

leetcode145. 二叉树的后序遍历 意想不到的骚操作

leetcode 222. 完全二叉树的节点个数​​​​​​​

leetcode226 反转二叉树

leetcode235. 二叉搜索树的最近公共祖先

leetcode236 二叉树的最近公共祖先

leetcode257. 二叉树的所有路径

leetcode404. 左叶子之和

leetcode538 把二叉搜索树转换成累加树

leetcode543. 二叉树的直径

leetcode617. 合并二叉树

字符串处理

=====

leecode5 最长回文子串

leetcode6. Z 字形变换

leetcode9 回文数

leetcode14. 最长公共前缀

leetcode28. 实现 strStr()

leetcode43. 字符串相乘 经典大数+和*

leetcode71. 简化路径 Unix 风格

leetcode125验证回文串

leetcode151. 翻转字符串里的单词

leetcode161. 相隔为 1 的编辑距离

leetcode165. 比较版本号 超级重要的细节

leetcode186. 翻转字符串里的单词 II

leetcode205. 同构字符串 一般人一次做不对的简单题

leetcode208. 实现 Trie (前缀树)

leetcode214. 最短回文串

leetcode242. 有效的字母异位词

leetcode243. 最短单词距离(vip题)好像挺简单?

leetcode266. 回文排列

leetcode344. 反转字符串 史上最简单力扣题

leetcode345. 反转字符串中的元音字母

leetcode383. 赎金信

leetcode387. 字符串中的第一个唯一字符

leetcode392. 判断子序列

leetcode409. 最长回文串

leetcode415. 字符串相加

leetcode434. 字符串中的单词数

leetcode647 回文子串

矩阵DFS

=====

深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。

深度优先搜索是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以方便的解决很多相关的图论问题,如最大路径问题等等。

因发明「深度优先搜索算法」,约翰 · 霍普克洛夫特与罗伯特 · 塔扬在1986年共同获得计算机领域的最高奖:图灵奖。

leetcode79. 单词搜索 网格地图搜索+回溯经典写法啦

leetcode130. 被围绕的区域

leetcode200. 岛屿数量

leetcode212. 单词搜索 II

leetcode329. 矩阵中的最长递增路径​​​​​​​

在一维DFS

======

leetcode17. 电话号码的字母组合

leetcode22. 括号生成

leetcode39. 组合总和

leetcode40. 组合总和 II

leetcode46. 全排列

leetcode47. 全排列 II

leetcode77. 组合

leetcode78 子集

leetcode90. 子集 II

leetcode131. 分割回文串

leetcode339. 嵌套列表权重和

并查集

===

在计算机科学中,并查集是一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(Union-find Algorithm)定义了两个用于此数据结构的操作:

Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。

Union:将两个子集合并成同一个集合。

由于支持这两种操作,一个不相交集也常被称为联合-查找数据结构(Union-find Data Structure)或合并-查找集合(Merge-find Set)。

为了更加精确的定义这些方法,需要定义如何表示集合。一种常用的策略是为每个集合选定一个固定的元素,称为代表,以表示整个集合。接着,Find(x) 返回 x 所属集合的代表,而 Union 使用两个集合的代表作为参数。

leetcode261. 以图判树

leetcode323. 无向图中连通分量的数目

leetcode547. 朋友圈

队列/栈

====

栈(Stack)又名堆栈,它是一种重要的数据结构。从数据结构角度看,栈也是线性表,其特殊性在于栈的基本操作是线性表操作的子集,它是操作受限的线性表,因此,可称为限定性的数据结构。限定它仅在表尾进行插入或删除操作。表尾称为栈顶,相应地,表头称为栈底。栈的基本操作除了在栈顶进行插入和删除外,还有栈的初始化,判空以及取栈顶元素等。

队列(Queue)是一种先进先出(FIFO,First-In-First-Out)的线性表。

在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为 rear)进行插入操作,在前端(称为 front)进行删除操作。

队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加。

队列常用的方法有:add、remove、element、offer、poll、peek、put、take。

leetcode20 有效的括号

leetcode84. 柱状图中最大的矩形

leetcode85. 最大矩形

leetcode155. 最小栈

leetocde 225. 用队列实现栈

leetcode 232. 用栈实现队列

leetcode239. 滑动窗口最大值

leetcode346. 数据流中的移动平均值

leetcode739 每日温度

数学

==

数学是利用符号语言研究数量、结构、变化以及空间等概念的一门学科,从某种角度看属于形式科学的一种。数学透过抽象化和逻辑推理的使用,由计数、计算、量度和对物体形状及运动的观察而产生。数学家们拓展这些概念,为了公式化新的猜想以及从选定的公理及定义中建立起严谨推导出的定理。

基础数学的知识与运用是个人与团体生活中不可或缺的一环。对数学基本概念的完善,早在古埃及、美索不达米亚及古印度内的古代数学文本便可观见,而在古希腊那里有更为严谨的处理。从那时开始,数学的发展便持续不断地小幅进展,至 16 世纪的文艺复兴时期,因为新的科学发现和数学革新两者的交互,致使数学的加速发展,直至今日。数学并成为许多国家及地区的教育范畴中的一部分。

今日,数学使用在不同的领域中,包括科学、工程、医学、经济学和金融学等。数学对这些领域的应用通常被称为应用数学,有时亦会激起新的数学发现,并导致全新学科的发展,例如物理学的实质性发展中建立的某些理论激发数学家对于某些问题的不同角度的思考。数学家也研究纯数学,就是数学本身的实质性内容,而不以任何实际应用为目标。虽然许多研究以纯数学开始,但其过程中也发现许多应用之处。

leetcode2 两数相加​​​​​​​

leetcode7 整数反转

leetcode13. 罗马数字转整数

leetcode38. 外观数列

leetcode43. 字符串相乘 经典大数+和*

leetcode50. Pow(x, n)

leetcode66. 加一

leetcode96. 不同的二叉搜索树 动归vs数学?​​​​​​​

leetcode171. Excel表列序号

leetcode172. 阶乘后的零 最快算法

leetcode202. 快乐数

leetcode204. 计数质数

leetcode263. 丑数

leetcode319 灯泡的开关

leetcode326. 3的幂 如此6的操作你想到了吗

博弈

==

leetcode292. Nim 游戏

leetcode1033. 移动石子直到连续

SQL

===

大部分是付费题目,可以看我的做题记录,目前做了一半(50题),另一半我觉得做出来对我个人的提升较小了,所以暂时没有做。

leetcode175. 组合两个表(SQL)

leetcode176. 第二高的薪水

leetcode 178. 分数排名(SQL)

leetcode180. 连续出现的数字(SQL)

leetcode181. 超过经理收入的员工(SQL)

leetcode182. 查找重复的电子邮箱(SQL)

leetcode183. 从不订购的客户(SQL)

leetcode184. 部门工资最高的员工(SQL) 连接+嵌套查询

leetcode197. 上升的温度(SQL)

leetcode511. 游戏玩法分析 I(SQL)

leetcode512. 游戏玩法分析 II(SQL)

leetcode534. 游戏玩法分析 III(SQL)

leetcode550. 游戏玩法分析 IV(SQL)

leetcode570. 至少有5名直接下属的经理(SQL)

leetcode574. 当选者(SQL)

leetcode580. 统计各专业学生人数(SQL)

leetcode584. 寻找用户推荐人(SQL)

leetcode585. 2016年的投资(SQL)

leetcode586. 订单最多的客户(SQL)

leetcode595. 大的国家(SQL)

leetcode596. 超过5名学生的课(SQL)

leetcode597. 好友申请 I :总体通过率(SQL)

leetcode601. 体育馆的人流量(SQL)

leetcode603. 连续空余座位

leetcode607. 销售员(SQL)

leetcode612. 平面上的最近距离(SQL)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

写在最后

为了这次面试,也收集了很多的面试题!

以下是部分面试题截图

Java程序员秋招三面蚂蚁金服,我总结了所有面试题,也不过如此

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-0foRoNyZ-1712465912225)]

写在最后

为了这次面试,也收集了很多的面试题!

以下是部分面试题截图

[外链图片转存中…(img-6E7vJglw-1712465912225)]

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值