一.图相关 1.图本质上可以认为是多叉树的延伸。面试笔试中很少出现图问题,就算有,也是简单的遍历问题,基本上可以完全照搬多叉树的遍历 1 //基本的N叉树节点 2 class TreeNode{ 3 int val; 4 TreeNode[] children; 5 } 6 //图节点的逻辑结构 7 ...
转载 2021-09-23 13:42:00
138阅读
2评论
动态规划解题套路框架 学习计划: 最长回文子序列 〇、必读文章 1、数据结构和算法学习指南(学习算法和刷题的框架思维) 了解数据结构的操作和遍历(迭代or递归) 从树刷起,结合框架思维,有利于理解(回溯、动态规划、分治等) 2、动态规划详解(动态规划解题套路框架) 过程:递归的暴力解法 -> 带备忘
原创 2022-06-04 00:31:17
787阅读
一,算法刷题的框架思维 1.数据结构基本操作:查增删改,遍历 遍历:线性:for/while遍历(数组,链表),非线性:递归遍历(链表,二叉树) 2.二叉树是最容易培养框架思维的,而且大部分算法技巧,本质上都是树的遍历问题 所以二叉树的遍历非常重要,尤其递归遍历(回溯,动规,分治,只要涉及到递归的问 ...
转载 2021-09-17 21:43:00
275阅读
2评论
一,算法刷题的框架思维 1.数据结构基本操作:查增删改,遍历 遍历:线性:for/while遍历(数组,链表),非线性:递归遍历(链表,二叉树) 2.二叉树是最容易培养框架思维的,而且大部分算法技巧,本质上都是树的遍历问题 所以二叉树的遍历非常重要,尤其递归遍历(回溯,动规,分治,只要涉及到递归的问 ...
转载 2021-10-17 13:37:00
90阅读
2评论
我们最后用 Java 的内置类型 LinkedHashMap 来实现 LRU 算法,逻辑和之前完全一致,我就不过多解释了:class LRUCache { int cap;
翻译 11月前
42阅读
本文来自labaladong的算法小抄 , 使用GO语言重新描述代码部分 寻找回文串的核心思想是从中心向两端扩展: func Palindrome( s string,l,r int)string { str:=[]rune(s) for l>=0 && r < len(str) && str[l]
原创 2021-06-17 19:28:41
216阅读
本文转自labuladong的算法小抄 , 代码部分我使用go重新描述 先给大家讲个笑话乐呵一下: 有一天阿东到图书馆借了 N 本书,出图书馆的时候,警报响了,于是保安把阿东拦下,要检查一下哪本书没有登记出借。阿东正准备把每一本书在报警器下过一下,以找出引发警报的书,但是保安露出不屑的眼神:你连二分
原创 2021-06-17 19:28:43
606阅读
我知道各位是被标题吸引进来的,那就不废话,先说几个算法笔试的硬核套路,再说说做题复习的策略。避实就虚大家也知道,大部分笔试题目都需要你自己来处理输入数据,然后让程序打印输出。判题的底层原理是,把你程序的输出用 Linux 重定向符 > 写到文件里面,然后比较你的输出和正确答案是否相同。那么有的问题难点就变得形同虚设,我们可以偷工减料,举个简化的例子,假设题目说给你输入一串用空格分隔的字符,告
原创 2020-12-23 16:13:19
489阅读
几条规则: 1. while(left <= right)作为循环进入条件,退出则为left > right 循环内不再有return条件 2. nums[mid] == target之后,假如收缩左侧边界,就修改left,右侧则修改right; 以上图为例,如果找到target,可以一直往左边收缩 ...
转载 2021-08-12 14:27:00
113阅读
2评论
摘自labuladong算法小抄,使用go语言重新描述之前的文章「递归反转链表的一部分」讲了如何递归地反转一部分链表,有读者就问如何迭代地反转链表,这篇文章解决的问题也需要反转链表的函数,我们不妨就用迭代方式来解决。本文要解决「K 个一组反转链表」,不难理解: 这个问题经常在面经中看到,而且 LeetCode 上难度是 Hard,它真的有那么难吗?对于基本数据结构的算法问题其实都不难,只要结合特点
转载 2021-01-13 11:37:37
328阅读
2评论
摘自labuladong算法小抄,使用go语言重新描述 之前的文章「递归反转链表的一部分」讲了如何递归地反转一部分链表,有读者就问如何迭代地反转链表,这篇文章解决的问题也需要反转链表的函数,我们不妨就用迭代方式来解决。 本文要解决「K 个一组反转链表」,不难理解: 这个问题经常在面经中看到,而且 L
原创 2021-06-17 19:28:42
386阅读
我们GitHub上面的仓库马上就破70kstar了,世界排名第37:有的读者问这个排名咋看的,可以在GitHub搜索栏输入:stars:>69500进行搜索,含义是搜索所有star数大于69.5k的仓库,然后就相当于看到排名了。这个仓库能有这么火,离不开大家的捧场,如果还有没有点star的朋友,希望动动小手点一个star,破个70k,感谢大家!当然,我可是很够意思的,装逼要带大家一起装,我的读者都
原创 2021-04-07 09:25:49
174阅读
labuladong/fucking-algorithm Stars: 118.5k License: NOASSERTION 《labuladong 的算法小抄》是一个基于 LeetCode 题目的
原创 2024-04-28 10:11:06
27阅读
转载自labuladong的算法小抄,go语言描述 反转单链表的迭代实现不是一个困难的事情,但是递归实现就有点难度了,如果再加一点难度,让你仅仅反转单链表中的一部分,你是否能够递归实现呢? 本文就来由浅入深,step by step 地解决这个问题。如果你还不会递归地反转单链表也没关系,本文会从递归
原创 2021-06-17 19:28:42
274阅读
本文摘自labuladong算法小抄 , 使用go语言描述 我们公众号的成名之作 学习数据结构和算法的框架思维 中多次强调,先刷二叉树的题目,先刷二叉树的题目,先刷二叉树的题目,因为很多经典算法,以及我们前文讲过的所有回溯、动归、分治算法,其实都是树的问题,而树的问题就永远逃不开树的递归遍历框架这几
原创 2021-06-17 19:28:40
593阅读
~ 作者:labuladong 公众号:labulad
转载 2022-09-25 08:06:26
10阅读
作者 |labuladong来源 |labuladong今天分享一道 LeetCode 上很有意思的题目,如果理解清楚了题意,只需要一行代码就能解决。题目来源于 Le...
qt
转载 2021-07-20 09:57:49
79阅读
学习资料 labuladong算法小抄:https://labuladong.gitbook.io/algo/ 经典编程书籍大全 https://github.com/jobbole/awesome-programming-books https://www.iamshuaidi.com/ C语言常 ...
转载 2021-08-28 07:56:00
136阅读
2评论
前言本文以GitHub仓库 https://github.com/labuladong/fucking-algorithm 为例,详细介绍git clone --depth=1的用法情况一:git clonegit clone https://github.com/labuladong/fucking-algorithm使用git可视化命令git log --graph --oneline --a
转载 10月前
20阅读
labuladong 一、 题目描述 给定一个非负整数数组,你最初位于数组
转载 2021-03-09 20:46:00
169阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5