经典必刷题汇总

​ 

哈希

  • 1.两数之和
  • 49.字母异位词分组
  • 146.LRU缓存机制

链表

  • 2.两数相加
  • 19.删除链表的倒数第N个节点
  • 21.合并两个有序链表
  • 61.旋转链表
  • 138.复制带随机指针的链表(待更新)
  • 206.反转链表&&92.反转链表II

左右指针/快慢指针/滑动窗口

  • 3.无重复字符的最长子串(待更新)
  • 11.盛最多水的容器
  • 15.三数之和
  • 16.最接近的三数之和
  • 26.删除排序数组中的重复项
  • 42.接雨水/直方图雨量
  • 121.买卖股票的最佳时机
  • 209.长度最小的子数组(待更新)
  • 141.环形链表
  • 202.快乐数
  • 287.寻找重复数
  • 876.链表的中间结点
  • 面试题02.02.返回倒数第K个结点

字符串

  • 6.Z字形变换(待更新)
  • 14.最长公共前缀(待更新)
  • 736.划分字母区间(待更新)

数字操作

  • 7.整数反转
  • 8.字符串转换整数(待更新)
  • 9.回文数
  • 43.字符串相乘(待更新)
  • 172.阶乘后的零
  • 258.各位相加

矩阵

  • 54.螺旋矩阵
  • 73.矩阵置零
  • 74.搜索二维矩阵&&240.搜索二维矩阵II
  • 378.有序矩阵中第K小的元素

  • 20.有效的括号
  • 32.最长有效括号
  • 46.LRU最近最少使用机制
  • 150.逆波兰表达式
  • 155.最小栈
  • 224.基本计算器
  • 316.去除重复字母(待更新)

  • 215.数组中的第K个最大元素(待更新)
  • 347.前K个高频元素(待更新)

递归

  • 21.合并两个有序链表
  • 28.对称的二叉树
  • 104.二叉树的最大深度
  • 226.翻转二叉树(待更新)
  • 236.二叉树的最近公共祖先(待更新)

分治法/二分法

  • q23_合并K个排序链表
  • 34.在排序数组中查找元素的第一个和最后一个位置
  • 135.寻找旋转排序数组中的最小值&&136.寻找旋转排序数组中的最小值II
  • 面试题53-II.0~n-1中缺失的数字

动态规划

  • 5.最长回文子串(待更新)
  • 53.大子序和(待更新)
  • 198.打家劫舍&&213.打家劫舍II
  • 64.最小路径和
  • 70.爬楼梯&&509斐波拉契数
  • 118.杨辉三角(待更新)
  • 300.最长上升子序列(待更新)
  • 746.使用最小花费爬楼梯
  • 1277.统计全为1的正方形子矩阵(待更新)

回溯法

  • 10.正则表达式匹配(待更新)
  • 22.括号生成
  • 46.全排列&&47.全排列II
  • 78.子集&&90.子集II
  • 17.电话号码数字组合
  • 39.组合总数&&40.组合总数II

树的遍历

  • 94.二叉树的中序遍历
  • 102.二叉树的层次遍历
  • 110.平衡二叉树
  • 144.二叉树的前序遍历
  • 145.二叉树的后序遍历

二叉搜索树

  • 98.验证二叉搜索树
  • 99.恢复二叉树
  • 450.删除二叉搜索树中的节点(待更新)
  • 701.二叉搜索树中的插入操作(待更新)

#刷题#
Diffusion Model 文章被收录于专栏

专注探索Diffusion Models、Score-based Generative Models等深层生成式模型,持续更新分享最前沿技术。

全部评论

相关推荐

家人们,在开庭前没想到还能出幺蛾子!!在职的要擦亮眼睛哦,你不知道表面对你好的人实际上是个会在背调的时候拆台的人!背调时主动说我跟公司有仲裁案子,主动说公司因为我能力不行辞退了我。能力行不行大家心里有数,真不行的话为什么用了我好几个月直到转正前卡着时间把我违法辞退?另外谢谢这位在背调的时候搞事情的人,替我找到了第三方人证!谢谢你主动承认公司辞退了我哟~~我新公司的HR和背调人员都可以证明这点,并且为我提供了录音~~新公司大厂升了职,加了薪,做了主管!我能力行不行看新公司的肯定,但这几个人你们格局小是真的!既然是创业公司,先把流程搞规范、把评判标准搞规范,啥都领导一拍脑袋做决定,只会一回又一回的坑人,仲裁也只会多不会少!!我评判一个人好坏的标准是你对我好不好,过去我真心觉得他是个可以死心塌地跟随的领导,生活上对我的帮助我很感恩,所以工作上半夜通宵的加班从无怨言,后面他几次给我打电话发微信我也一直强调我是对公司有意见不是对他和HR,一再感谢他们为我做的一切考虑。结果表面一套背后一套,他手里有刀是真往人身上插啊!没有放过背调这个能搞砸我新工作的机会,也让我看清了某些人的人性。还是感恩遇见吧,让我学到了很多~~
点赞 评论 收藏
分享
01-26 18:22
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
头像
01-19 20:06
已编辑
北京大学 嵌入式软件开发
C++的上限非常高,但是分阶段性逐步学习是没有问题的,一步步的学,慢慢领悟,总有一天会熟练掌握的。C++ 语言的学习其实就三个阶段就好了:(1) 入门阶段这个阶段的学习主要是熟悉 C++ 语言的语法知识。在这个阶段要做到理解对象的思想方法,培养自己的编程思维能力。目标是可以开发一些像贪吃蛇这种简单的控制台小程序。(2) 进阶阶段进阶阶段的学习主要是要掌握 C++ 标准模板库(STL)、设计模式、数据结构基础以及 UI 界面开发、数据库开发等高级技能。在这个阶段是要达到可以开发复杂的程序,达到工作中 C++ 开发程序员的能力。(3) 应用阶段这个是实战阶段,要具备一定的综合性应用软件开发能力。这个阶段就是多观摩别人的项目,看人家的写法,模仿项目,学习其中的思想,一点点的积累,一步步形成自己的东西,厚积而薄发,慢慢你就会发现你也可以了。注意!下面都是超极干的干货一、入门阶段入门阶段的学习主要是熟悉 C++ 语言的语法知识。除了基础的变量、常量、关键字、数据类型、运算符、数组、函数、指针、结构体外,还要学习 C++ 的面向对象编程思想、命名空间 namespace、引用、函数扩展、类的封装、构造和析构、继承、多态、异常处理等内容。语言部分的学习建议不要拖太久,一定要规划好时间,一鼓作气,不然自己容易泄气!1.视频推荐此时同学们应该是毫无基础或者稍微有点 C 语言基础的小白。对于小白来说,不建议上来就看书,因为干看看不懂,容易劝退。可以先从视频教程开始,教材为辅。我当初 C++ 视频是在 b 站看的黑马程序员的 C++ 课程(我不是他们的托儿从 0 到 1 教 C++,三百多个小节,每个小节时间都不是很长,除了个别几个在二十多分钟,其余的基本上都在几分钟到十几分钟之间。每一个阶段都会有相应的小项目教学,对初学者来说是很友好的。看视频的时候不是看看就过去了,编程毕竟是门一门手艺活,孰能生巧。建议一边看,一边将视频中的示例或者小项目教学自己也实现一下,刚开始不会可以照着敲,比只看不动手强一百倍。此外,我最近发现深蓝学院出品的「C++ 基础与深度解析」课程也很不错,深入基础,讲解语法细节。从基础语法讲到 Modern C++,从面向过程开发到新编程范式,对大家学习 C++ 很有帮助。2.书籍推荐入门阶段的书籍为辅,怎么为辅呢?就是视频看完一个阶段,然后就可以去看书上对应阶段的内容,这样看书,一方面看书的时候会很快,容易理解,另一方面可以印证自己在看视频的时候一些不太理解的地方。入门阶段推荐两本书,一本薄的,一本厚的,都是超级经典的书籍。《Essential C++》《Essential C++》是一本内容不多但很实用的 C++ 入门书籍,这本书强调的是快速上手与理解 C++ 编程。主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到 C++ 的函数和结构,也会学习到它们的设计目的和基本原理。《C++ Primer Plus》&《C++ Primer》很多人 C++ 入门的时候会推荐《C++ Primer Plus》,很多人 C++ 入门的时候会推荐《C++ Primer Plus》,我当年先看的也是这本书,当年 C 语言除了学校的教材,我看的就是《C Primer Plus》。这本书怎么说的,讲的超级全面,甚至有点过于全面了,书中的例子和课后习题循序渐进,不夸张的讲所有的知识点可能都囊括进去了,作者可能为了怕大家学不明白,讲的巨细,甚至我感觉都有点啰嗦,造成这本书巨厚,字又巨小,看完感觉近视又加了几度。当时我学习的时候《C++ Primer》还是第 4 版,现在都到第 5 版了!《C++ Primer》堪称 C++ 语法学习的最权威书籍,非常全面地讲解了C++的语法以及C++11的各种新特性,看完之后真的帮助特别大!如果有时间建议至少看两遍以上!时面向 C++ 语言的初学者,是一本很友好的自学教材!而且例程和习题丰富,相信认真读过之后,可以完成 C++ 语言入门这个目标!!如果你在这个阶段觉得差不多了,可以尝试找一些在线的练习题做下,如果你不知道去哪找,那可以去下面这个初学者练习编程巩固语法的绝佳去处。它有专门的 C++ 入门编程练习题,专门练习语法和大家的编程逻辑,从变量、数据类型这些基础语法,到数组、字符串这种复合类型,再到函数、面向对象,以及在 C++ 中很重要的 STL,最后再来点综合练习,差不多 70 多道题,够你练的。除了编程练习以外,如果你想知道你自己的知识点掌握的如何,也可以做一下专项练习。以类似试卷的形式,可以很好的检验自己的学习成果,不管是对之后应对考试,或者应付笔试面试都很有帮助。二、进阶阶段在进阶阶段,你已经对 C++ 有一定的认知了。这个时候我们可以深入学习 C++ 标准模板库(STL)、设计模式、数据结构基础以及 UI 界面开发、数据库开发等高级技能。1.书籍推荐《C++标准程序库》关于 STL,可以先读这本侯捷老师翻译的《C++ 标准程序库》。通过这本书对STL有个基本认识,学会使用 STL。《STL源码剖析》读完 《C++ 标准程序库》,就可以来读这本侯捷老师编写的《STL源码剖析》了。这本书建议必读!这本书讲解了 C++ 底层实现,主要包括 C++ 底层内存管理、各种容器的数据结构实现、常见算法的实现等。可以帮助深入理解C++底层,同时也是对数据结构的复习和巩固。《Effective C++》《Effective C++》讲了 C++ 编程的 55 条准则,提高你的 C++ 编程质量,也是侯捷老师翻译的!这本书有助于梳理在编写 C++ 程序时的一些常见错误和注意事项,也是面试常考的。《深度探索C++对象模型》《深度探索C++对象模型》这本书讲解了C++面向对象特性的底层实现机制。侯捷老师翻译的,看完这本书,对C++面向对象的理解帮助极大,建议必读!2.视频推荐不知道大家注意了没,上面我推荐了四本书,都和一个人有关:侯捷老师。书要么是他翻译的,要么是他写的,C++ 领域 YYDS!同意吧?侯捷老师当然也有讲课,针对书都有对应内容的视频课程!三、应用阶段其实编程语言就是要多练,怎么多练,就是代码量。自己多写,然后多观摩别人的项目,看人家的写法,模仿项目,学习其中的思想,一点点的积累,一步步形成自己的东西,厚积而薄发,慢慢你就会发现你也可以了。面经可以参考c++面经 总结的很详细   https://daxprogram.com/
点赞 评论 收藏
分享
评论
6
34
分享

创作者周榜

更多
牛客网
牛客企业服务