30 天刷题挑战总结

前言

总结一下 30 天刷题的题目,可以根据这个列表快速掌握算法面试要点。

数组

数组是存放在连续内存空间上的相同类型数据的集合

27. 移除元素

88. 合并两个有序数组

1431. 拥有最多糖果的孩子

字符串

344. 反转字符串

443. 压缩字符串

1071. 字符串的最大公因子

双指针

283. 移动零

392. 判断子序列

15. 三数之和

滑动窗口

209. 长度最小的子数组

643. 子数组最大平均数 I

1004. 最大连续1的个数 III

二分查找

704. 二分查找)

374. 猜数字大小

875. 爱吃香蕉的珂珂

哈希表

哈希表是根据键直接访问值的数据结构

1. 两数之和

202. 快乐数

2215. 找出两数组的不同

栈先进后出

20. 有效的括号

735. 小行星碰撞

1047. 删除字符串中的所有相邻重复项

队列

队列先进先出

649. Dota2 参议院

933. 最近的请求次数

链表

链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)

206. 反转链表

328. 奇偶链表

二叉树

  • 深度优先遍历
    • 前序遍历(中左右)
    • 中序遍历(左中右)
    • 后序遍历(左右中)
  • 广度优先遍历
    • 层次遍历(迭代法)

104. 二叉树的最大深度

110. 平衡二叉树

437. 路径总和 III

700. 二叉搜索树中的搜索

回溯算法

回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案

17. 电话号码的字母组合

78. 子集 - 力扣(LeetCode)

216. 组合总和 III

贪心算法

贪心是从局部直接选最优

455. 分发饼干

53. 最大子数组和

452. 用最少数量的箭引爆气球

动态规划

动态规划中每一个状态一定是由上一个状态推导出来的

70. 爬楼梯

198. 打家劫舍

322. 零钱兑换

121. 买卖股票的最佳时机

714. 买卖股票的最佳时机含手续费

位运算

338. 比特位计数

136. 只出现一次的数字

数学

9. 回文数

69. x 的平方根

509. 斐波那契数

本文完,感谢阅读

相关推荐
belhomme9 分钟前
(面试题)Netty 线程模型
java·面试·netty
vim怎么退出42 分钟前
谷歌性能优化知识点总结
前端
专业抄代码选手44 分钟前
在react中,TSX是如何转变成JS的
前端·javascript
葡萄城技术团队1 小时前
【实践篇】从零到一:手把手教你搭建一套企业级 SpreadJS 协同设计器
前端
忆江南2 小时前
# iOS Block 深度解析
前端
米丘2 小时前
vue-router v5.x 路由模式关于 createWebHistory、 createWebHashHistory的实现
前端
本末倒置1832 小时前
Bun 内置模块全解析:告别第三方依赖,提升开发效率
前端·javascript·node.js
踩着两条虫2 小时前
AI 驱动的 Vue3 应用开发平台 深入探究(二):核心概念之DSL模式与数据模型
前端·vue.js·ai编程
学高数就犯困2 小时前
性能优化:LRU缓存(清晰易懂带图解)
算法
牛奶2 小时前
200 OK不是"成功"?HTTP状态码潜规则
前端·http·浏览器