Go最全2024最新-精选基础算法100题(面试必备)_算法题(1),【绝对干货】

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

题目名称来源个人题解备注
16.图的深搜和广搜经典问题戳我前往搜索中的经典问题
17.方格填数蓝桥杯:链接暂无戳我前往揣摩一下DFS的思路
18.路径之谜蓝桥杯:链接暂无戳我前往经典改编迷宫问题
19.岛屿的最大面积Leetcode题695:戳我前往戳我前往最常见的矩阵中的DFS
20.逃离大迷宫Leetcode题1036:戳我前往戳我前往各种搜索思想都可以应用
21.单词搜索Leetcode题79:戳我前往戳我前往字符串中的搜索
22.检查网格中是否存在有效路径Leetcode题1391:戳我前往戳我前往思考另类的搜索
23.地图分析Leetcode题1162:戳我前往戳我前往多源BFS
24.机器人的运动范围《剑指offer》13题戳我前往DFS进行计数的基本思路
25.括号生成Leetcode题22:戳我前往戳我前往用DFS生产括号
26.01 矩阵Leetcode题542:戳我前往戳我前往矩阵中的搜索
27.岛屿数量Leetcode题200:戳我前往戳我前往根据需求使用DFS
28.全排列问题Leetcode题46:戳我前往戳我前往最经典的回溯算法

分类三:字符串

别忽视字符串的算法问题,它难起来可以非常难,简单的也很简单,面试喜欢提问,而且特别容易出错,需要引起重视。

题目名称来源个人题解备注
29.KMP算法经典算法戳我前往经典字符串匹配算法
30.拼写单词Leetcode题1160:戳我前往戳我前往很简单的字符串问题
31.竖直打印单词Leetcode题1324:戳我前往戳我前往简单但值得思考
32.不含 AAA 或 BBB 的字符串Leetcode题984:戳我前往戳我前往巧妙构造出字符串
33.实现Trie(前缀树)Leetcode题208:戳我前往戳我前往字符串中经典的算法
34.最长快乐前缀Leetcode题1392:戳我前往戳我前往如何处理字符串的前后缀
35.单词搜索IILeetcode题212:戳我前往戳我前往前缀树的应用
36.单词的压缩编码Leetcode题820:戳我前往戳我前往前缀树灵活运用
37.判定字符是否唯一《程序员面试金典》01.02戳我前往简单但值得思考
38.判定是否互为字符重排《程序员面试金典》 01.02戳我前往简单的面试题
39.无重复字符的最长子串Leetcode题3:戳我前往戳我前往字符串中的滑动窗口
40.字符串转换整数Leetcode题8:戳我前往戳我前往需要考虑的细节很多
41.翻转字符串里的单词Leetcode题151:戳我前往戳我前往正则匹配
42.整数转换英文表示Leetcode题273:戳我前往戳我前往非常实用的算法题
43.统计重复个数Leetcode题466:戳我前往戳我前往循环结剪枝
44.超级回文数Leetcode题906:戳我前往戳我前往字符串与大数的处理思路
45.单词子集Leetcode题96:戳我前往戳我前往特征思想的应用

分类四:容器类(哈希表,栈,队列,Map,Set)

容器类的算法题一般需要根据一些容器的特点来解决响应的问题,还有需要选择合适的容器进行新的数据结构的设计,掌握它们的使用,非常重要。

题目名称来源个人题解备注
46.按位与为零的三元组Leetcode题82:戳我前往戳我前往哈希表优化
47.设计地铁系统Leetcode题1396:戳我前往戳我前往合理选择容器
48.LFU缓存《程序员面试金典》戳我前往选择容器来设计
49.设计推特Leetcode题355:戳我前往戳我前往很实用的算法
50.最小栈Leetcode题155:戳我前往戳我前往两栈设计最小栈
51.子数组的最小值之和Leetcode题907:戳我前往戳我前往单调栈的应用
52.栈的压入、弹出序列《剑指offer》戳我前往栈的合法序列
53.有效括号的嵌套深度Leetcode题1111:戳我前往戳我前往模仿栈
54.逆波兰算法经典算法戳我前往后缀表达式关键算法

分类五:数学思维类(含位运算思想)

数学思维类的题由于需要很强大的数学思维,但是这又不是一天可以练成的,所以,也常常在面试中会被问到,只有慢慢的积累,才是王道。

题目名称来源个人题解备注
55.水壶问题Leetcode题365:戳我前往戳我前往经典数学问题
56.三维形体的表面积Leetcode题892:戳我前往戳我前往空间思想解决算法问题
57.生命游戏Leetcode题289:戳我前往戳我前往数学思维的运用
58.交点《程序员面试金典》16.03戳我前往二维平面的交点问题
59.使数组唯一的最小增量Leetcode题945:戳我前往戳我前往数学思维的运用
60.数值的整数次方《剑指offer》题16戳我前往非常容易出错的面试题
61.求 1+2+…+n《剑指offer》戳我前往短路原则
62.1~n整数中1出现的次数《剑指offer》戳我前往数学思维找规律
63.数组中数字出现的次数《剑指offer》戳我前往分组异或

分类六:链表

链表是一种非常常见的数据结构,不管在实际应用还是算法竞赛中,都经常出现,掌握对它们的基本处理,非常重要。

题目名称来源个人题解备注
64.两数相加Leetcode题2:戳我前往戳我前往链表的加法问题
65.链表的中间结点Leetcode题876:戳我前往戳我前往快慢指针思想
66.删除链表的倒数第N个节点Leetcode题19:戳我前往戳我前往哑节点和双指针
67.合并两个有序链表Leetcode题21:戳我前往戳我前往链表的递归处理
68.合并K个排序链表Leetcode题23:戳我前往戳我前往优先队列的使用
69.删除排序链表中的重复元素 IILeetcode题82:戳我前往戳我前往链表基础指针操作
70.分隔链表Leetcode题86:戳我前往戳我前往双指针操作
71.旋转链表Leetcode题61:戳我前往戳我前往巧转循环链表
72.两两交换链表中的节点Leetcode题24:戳我前往戳我前往递归解决
73.反转链表Leetcode题206:戳我前往戳我前往多种思路反转链表
74.K 个一组翻转链表Leetcode题25:戳我前往戳我前往分组逆转
75.判断链表是否有环《剑指offer》戳我前往多种思路判断链表是否有环
76.单链表的插入排序Leetcode题147:戳我前往戳我前往链表的插入排序
77.两数相加 IILeetcode题445:戳我前往戳我前往用栈翻转链表元素

分类七:树

树也是一种非常重要的数据结构,因为很多容器的底层都设计到树,所以树也成了面试常问的重点了,你需要对他们的一些基本算法题,非常熟练。

题目名称来源个人题解备注
78.删除给定值的叶子结点Leetcode题1325:戳我前往戳我前往树的简单删除问题
79.二叉树的最大最小深度Leetcode题104:戳我前往戳我前往二叉树的深度问题
80.将有序数组转换为二叉搜索树Leetcode题108:戳我前往戳我前往数组和二叉树的转换
81.二叉树的右视图Leetcode题199:戳我前往戳我前往二叉树的视图转换
82.另一个树的子树Leetcode题572:戳我前往戳我前往两树关系的判断
83.二叉树的最近公共祖先《剑指offer》戳我前往公共祖先问题
84.二叉树的层序遍历序列存储Leetcode题102:戳我前往戳我前往二叉树遍历序列的存储
85.验证二叉搜索树Leetcode题98:戳我前往戳我前往二叉搜索树的验证

分类八:数组(贪心,二分)

数组类的算法题也是,说难不难,说简单不简单,而且数组是平时编码用的最多的结构了,所以,需要对它的一些基本算法引起重视。

题目名称来源个人题解备注
86.两个数组间的距离值Leetcode题1385:戳我前往戳我前往二分法应用
87.旋转矩阵《程序员面试金典》戳我前往原地修改
88.合并区间Leetcode题56:戳我前往戳我前往排序处理数组问题
89.跳跃游戏Leetcode题55:戳我前往戳我前往贪心思想运用
90.盛最多水的容器Leetcode题11:戳我前往戳我前往双指针
91.统计「优美子数组」Leetcode题1248:戳我前往戳我前往滑动窗口
92.搜索旋转排序数组Leetcode题33:戳我前往戳我前往二分搜索
93.山脉数组中查找目标值Leetcode题1095:戳我前往戳我前往二分搜索
94.快乐数Leetcode题202:戳我前往戳我前往快慢指针判断成环思路
95.跳跃游戏 IILeetcode题45:戳我前往戳我前往贪心思想
96.x 的平方根Leetcode题69:戳我前往戳我前往二分法取平方根
97.数组中的逆序对《剑指offer》题51戳我前往归并中的计数(分治)
98.课程表 IILeetcode题210:戳我前往戳我前往数组中的拓扑排序

分类九:经典算法列举

最后两个,凑个整,刚好100,是一些比较经典的算法列举。

img
img
img

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

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

如果你需要这些资料,可以戳这里获取

715501902757)]

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

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

如果你需要这些资料,可以戳这里获取

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值