会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
奔跑的路上
广泛汲取,用心打磨,精益求精。
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
···
26
下一页
2024年3月7日
第三节:队列相关(滑动窗口最大值、)
摘要: 一. 滑动窗口最大值 一. 题目描述 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。 滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。(求的是窗口每次移动中的最大值,最后组成的一个数组) 详见:https:
阅读全文
posted @ 2024-03-07 10:40 Yaopengfei
阅读(30)
评论(0)
推荐(0)
2024年3月6日
第三节:队列相关(滑动窗口最大值、)
摘要: 一. 二. 三. ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权
阅读全文
posted @ 2024-03-06 12:02 Yaopengfei
阅读(20)
评论(0)
推荐(1)
2024年3月4日
第二节:栈相关(二叉树展开为链表、逆波兰表达式、两栈实现队列结构)
摘要: 一. 二叉树展开为链表 1. 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺序相同。(补充:先序遍历指的是 访
阅读全文
posted @ 2024-03-04 09:01 Yaopengfei
阅读(52)
评论(0)
推荐(0)
2024年2月28日
第一节:字符串相关(最长公共前缀、无重复最长子串、最长回文子串)
摘要: 一. 最长公共前缀 1. 题目描述 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 详见:https://leetcode.cn/problems/longest-common-prefix/ 难度:【简单】 2. 思路分析 (1). 默认以数组中的第1个元素
阅读全文
posted @ 2024-02-28 10:06 Yaopengfei
阅读(73)
评论(0)
推荐(0)
2024年2月21日
第十八节:动态规划面试题(爬楼梯、买卖股票时机、最大子数组和)
摘要: 一. 爬楼梯 1. 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 详见: https://leetcode.cn/problems/climbing-stairs/description/ 2. 分析 (1).根据题
阅读全文
posted @ 2024-02-21 20:23 Yaopengfei
阅读(190)
评论(1)
推荐(0)
2024年2月20日
第十七节:动态规划详解之斐波那契数列(递归、记忆搜索、动态规划、状态压缩)
摘要: 一. 动态规划详解 1. 定义 动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划也是互联网大厂和算法竞赛中非常喜欢考察的一类题目:因为通过动态规划可
阅读全文
posted @ 2024-02-20 11:19 Yaopengfei
阅读(426)
评论(1)
推荐(0)
2024年2月19日
第十六节:各种排序算法总结和性能测试
摘要: 一. 复杂度总结 二. 性能测试 import BundleSort4 from './01-冒泡排序'; import selectionSort2 from './02-选择排序'; import insertionSort from './03-插入排序'; import mergeSort
阅读全文
posted @ 2024-02-19 10:34 Yaopengfei
阅读(48)
评论(1)
推荐(0)
2024年2月3日
第十五节:排序算法详解3(希尔排序、计数排序、桶排序、基数排序)
摘要: 一. 二. 三. ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权
阅读全文
posted @ 2024-02-03 09:30 Yaopengfei
阅读(30)
评论(0)
推荐(0)
2024年1月24日
第十四节:排序算法详解2(归并排序、快速排序、堆排序)
摘要: 一. 归并排序 【非常重要,必须手写出来,还必须理解,必须能快速手写出来】 1. 定义 它的基本思想是将待排序数组分成若干个子数组。然后将相邻的子数组归并成一个有序数组。最后再将这些有序数组归并(merge)成一个整体有序的数组。 2. 流程 步骤一:分解(Divide):归并排序使用递归算法来实现
阅读全文
posted @ 2024-01-24 21:17 Yaopengfei
阅读(58)
评论(3)
推荐(0)
2024年1月17日
第十三节:排序算法详解1(认识排序、冒泡、选择、插入排序)
摘要: 一. 认识排序算法 1. 排序算法的定义 在计算机科学与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串资料依照特定排序方式排列的算法。 2. 排序算法的分类标准 计算的时间复杂度:使用大O表示法,也可以实际测试消耗的时间; 内存使用量(甚至是其他电脑资源):比如外部排
阅读全文
posted @ 2024-01-17 08:26 Yaopengfei
阅读(145)
评论(1)
推荐(0)
2024年1月13日
第十二节:红黑树性质、相对平衡的原理、与AVL树的区别、手写红黑树
摘要: 一. 红黑树简介 1. 背景 红黑树(英语:Red–black tree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构。 它在1972年由鲁道夫·贝尔发明,被称为“对称二叉B树”,它现代的名字源于Leo J. Guibas和罗伯特·塞奇威克于1978年写的一篇论文。 2. 性质 除了符
阅读全文
posted @ 2024-01-13 18:42 Yaopengfei
阅读(103)
评论(1)
推荐(0)
2024年1月9日
第十一节:平衡树、AVL树(简介、旋转详解、代码实操)
摘要: 一. 平衡树详解 1. 什么是平衡树? 平衡树(Balanced Tree)是一种特殊的二叉搜索树: 其目的是通过一些特殊的技巧来维护树的高度平衡; 从而保证树的搜索、插入、删除等操作的时间复杂度都较低; 2. 为什么需要平衡树? 如果一棵树退化成链状结构,那么搜索、插入、删除等操作的时间复杂度就会
阅读全文
posted @ 2024-01-09 16:40 Yaopengfei
阅读(1265)
评论(1)
推荐(0)
2024年1月8日
第十节:高阶队列详解(双端队列、优先级队列)
摘要: 一. 双端队列 1. 回顾 默认的队列是先进先出的, 即只允许在front前端出队,在near后端入队 2. 什么是双端队列? 允许在队列的两端进行出队 和 入队 3. 实操 继承之前的队列MyQueue,然后新增addFront、removeBack两个方法即可 PS: 双端队列了解即可,实用性不
阅读全文
posted @ 2024-01-08 10:34 Yaopengfei
阅读(345)
评论(1)
推荐(0)
2024年1月5日
第九节:堆结构详解(上滤、下滤、最大堆、最小堆、二叉堆)
摘要: 一. 堆简介 1. 什么是堆结构? 堆的本质是一种特殊的树形数据结构,使用完全二叉树来实现,平时使用的基本都是二叉堆 二叉堆用树形结构表示出来是一颗完全二叉树,通常在实现的时候我们底层会使用数组来实现。 二叉堆又可以划分为最大堆和最小堆。 (1) 最小堆:堆中每一个节点都小于等于(<=)它的子节点;
阅读全文
posted @ 2024-01-05 08:41 Yaopengfei
阅读(1747)
评论(1)
推荐(1)
2024年1月2日
第八节:高阶链表详解(循环链表、双向链表)
摘要: 一. 循环链表简介 1. 什么是循环链表? 在普通链表的基础上,最后一个节点的下一个节点不再是 null,而是指向链表的第一个节点。 这样形成了一个环,使得链表能够被无限遍历。 这样,我们就可以在单向循环链表中从任意一个节点出发,不断地遍历下一个节点,直到回到起点。 二. 单项链表改造 1. 目的
阅读全文
posted @ 2024-01-02 09:41 Yaopengfei
阅读(153)
评论(1)
推荐(0)
2023年12月18日
第七节:图结构详解(结构封装、添加定点/边、广度/深度优先遍历)
摘要: 一. 图详解 1. 邻接矩阵 (1). 说明 邻接矩阵让每个节点和一个整数项关联,该整数作为数组的下标值。 我们用一个二维数组来表示顶点之间的连接。 二维数组[0][2] -> A -> C (2). 解析 在二维数组中,0表示没有连线,1表示有连线。 通过二维数组,我们可以很快的找到一个顶点和哪些
阅读全文
posted @ 2023-12-18 14:10 Yaopengfei
阅读(115)
评论(1)
推荐(0)
2023年12月14日
第六节:树详解(各种概念术语、二叉搜索树的封装)
摘要: 一. 树详解 1. 树优点及横向比较 (1). 数组 (2). 链表 (3). 哈希表 (4). 树 2. 相关术语 ◼ 1.节点的度(Degree):节点的子树个数。 ◼ 2.树的度 (Degree) :树的所有节点中最大的度数。 ◼ 3.叶子节点(Leaf):度为0的节点。(也称为叶节点) ◼
阅读全文
posted @ 2023-12-14 10:01 Yaopengfei
阅读(179)
评论(1)
推荐(0)
2023年12月6日
第五节:哈希表详解(哈希函数、增删改查、扩容/缩容、质数容量优化)
摘要: 一. 哈希表介绍 1. 什么是哈希表? 它的结构就是数组,但是它神奇的地方在于对数组下标值的一种变换,这种变换我们可以使用哈希函数,通过哈希函数可以获取到HashCode 哈希表的结构: [ [[key,value],[key,value],[key,value]], [[key,value],[k
阅读全文
posted @ 2023-12-06 08:47 Yaopengfei
阅读(660)
评论(1)
推荐(0)
2023年12月3日
第四节:时间、空间复杂度的详解(大O表示法)
摘要: 一. 时间复杂度 1. 现实案例 举个例子(现实的例子):在一个庞大的图书馆中,我们需要找一本书。 在图书已经按照某种方式摆好的情况下(数据结构是固定的) ◼ 方式一:顺序查找 一本本找,直到找到想要的书;(累死) ◼ 方式二:先找分类,分类中找这本书 先找到分类,在分类中再顺序或者某种方式查找;
阅读全文
posted @ 2023-12-03 07:28 Yaopengfei
阅读(210)
评论(1)
推荐(0)
2023年11月16日
第三节:链表详解和面试题剖析
摘要: 一. 链表详解 1. 对比数组 数组的创建通常需要申请一段连续的内存空间(一整块的内存),并且大小是固定的(大多数编程语言数组都是固定的),所以当当前数组不能满足容量需求时,需要扩容。 (一般情况下是申请一个更大的数组,比如2倍。 然后将原数组中的元素复制过去) 而且在数组开头或中间位置插入数据的成
阅读全文
posted @ 2023-11-16 08:30 Yaopengfei
阅读(64)
评论(1)
推荐(0)
2023年11月9日
第二节:队列详解和面试题剖析
摘要: 一. 队列详解 1. 什么是队列? 它是一种受限的线性表,先进先出(FIFO First In First Out) 受限之处在于它只允许在队列的前端(front)进行删除操作;而在队列的后端(rear)进行插入操作 2. 队列常见的操作 enqueue(ele) :向队列尾部添加一个(或多个)新的
阅读全文
posted @ 2023-11-09 09:01 Yaopengfei
阅读(71)
评论(0)
推荐(0)
2023年11月6日
第一节:邂逅数据结构和算法、线性结构、数组、栈详解
摘要: 一. 邂逅数据结构和算法 1. 编程的最终目的 所有的编程最终的目的都是为了处理数据 2. 什么是数据结构 数据结构是存储和组织数据的方式,常用的数据结构有:数组、链表、栈、队列、树、图。 3. 什么是算法 算法是解决问题的办法、逻辑步骤。 二. 线性结构-数组 1. 什么是线性结构 (1) 是由n
阅读全文
posted @ 2023-11-06 13:57 Yaopengfei
阅读(62)
评论(1)
推荐(0)
2023年10月30日
第十节:红包雨设计方案剖析(时间随机、瞬间秒杀、机会随机)
该文被密码保护。
阅读全文
posted @ 2023-10-30 07:51 Yaopengfei
阅读(3)
评论(1)
推荐(0)
2023年10月20日
第九节:单点登录方案深度剖析(淘宝/天猫、Cookie、Token、JWT实操)
该文被密码保护。
阅读全文
posted @ 2023-10-20 15:52 Yaopengfei
阅读(11)
评论(1)
推荐(0)
2023年10月10日
第八节:12306订单处理服务(DB架构/订单保存/删除排队/websocket/订单查询)和下单优化
该文被密码保护。
阅读全文
posted @ 2023-10-10 07:34 Yaopengfei
阅读(5)
评论(1)
推荐(0)
2023年9月21日
第七节:12306订单服务实现(nginx限流、生成订单、同步ES库存、发送订单、查询排队)
该文被密码保护。
阅读全文
posted @ 2023-09-21 10:23 Yaopengfei
阅读(2)
评论(2)
推荐(0)
2023年9月18日
第六节:12306下单逻辑剖析(背景、削峰方案、同步/搜索/下单架构、下单流程/页面)
摘要: 一. 背景 1. 背景介绍 铁道部在线车票发售网站12306基本不存在大量图片、视频这些占带宽资源的东西,所面临的主要问题就是数据库的高并发量——用中国的人口基数来算,这是一个极为恐怖的并发量,在车票发售的高峰时间点,向12306发起的并发请求数量大得就像一场国家规模的DDOS攻击。 中国铁路客户服
阅读全文
posted @ 2023-09-18 09:39 Yaopengfei
阅读(878)
评论(0)
推荐(0)
2023年9月11日
第三节:EFCore配合ShardingSphere的使用
该文被密码保护。
阅读全文
posted @ 2023-09-11 09:49 Yaopengfei
阅读(0)
评论(0)
推荐(0)
2023年9月6日
第五节:亿级数据库的设计方案(内含关注模型的实操方案)
该文被密码保护。
阅读全文
posted @ 2023-09-06 10:09 Yaopengfei
阅读(6)
评论(1)
推荐(0)
2023年8月27日
第四节:分库分表深度剖析(概念、模式、瓶颈、原则、架构方案、问题解决)
该文被密码保护。
阅读全文
posted @ 2023-08-27 21:08 Yaopengfei
阅读(6)
评论(1)
推荐(0)
上一页
1
2
3
4
5
6
7
8
···
26
下一页
公告