![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
知识梳理
文章平均质量分 86
星河阅卷
一条比较会蹦跶的咸鱼
展开
-
AIGC是缺失的最后一块拼图?——关于虚拟世界(元宇宙)的畅想
近几年,互联网科技圈可谓是风云变幻,各种高新技术像是雨后春笋般的纷纷涌现而出,让众多技术人应接不暇,大呼“学不动”的同时,这些高新技术也在逐步勾勒出一个新世界的轮廓。伴随着近期最为火爆的 AIGC 概念在国内外技术领域带来的生产力革新,或许原本欠缺的最后一块拼图也逐步复现。或许,虚拟世界的真正诞生时间已经不再那么遥远了。那么,究竟组成虚拟世界都需要哪一些技术,需要哪一些拼图和元件的支撑才能构建呢?我最近这段时间思索良久,觉得虚拟世界所涉及的关键因素:算力、网络、沉浸式、安全性、创造性、秩序,结合自己所知所学原创 2023-08-05 09:06:41 · 221 阅读 · 0 评论 -
循环依赖的那些事儿
在业务开发过程中,经常会使用 antd 作为 UI 组件库构建页面,然而在 antd@5.7.0 版本之前的版本,众多组件存在循环依赖的现象,导致在 vite 、rollup、microbundle 等构建工具中都出现大量的警告。对于一个用户量庞大的组件库来说,这无疑是一个巨大的隐患,有可能导致使用者在使用 antd 时出现一些不可预料的问题。因此,antd 的核心贡献者 afc163 决定立项整改 antd 当中循环依赖的乱象原创 2023-08-05 09:00:35 · 598 阅读 · 0 评论 -
2022年GitHub年终小结
2022年GitHub年终小结:参与开源项目:- AntDesign/ProComponents,贡献46个PR- AntDesign/AntDesign,贡献20个PR- NeteaseYanxuan/OSSA,贡献个54PR原创 2023-01-03 10:09:28 · 276 阅读 · 1 评论 -
Kiner算法刷题记(二十二):哈夫曼编码与二叉字典树(数据结构基础篇)
你了解计算机中的编码吗?你知道定长编码和变长编码的区别吗?你了解哈夫曼编码的实现原理吗?看完本文,相信上述问题都将不再是问题原创 2022-09-18 19:57:22 · 513 阅读 · 0 评论 -
欧几里得算法及相关扩展算法
看过《算法第4版》的同学应该都对第一章《基础》中轻鸿一瞥出现的**欧几里得算法**记忆犹新吧,算法看似以一种极其简单的方式解决了一个简单的问题,但是,你真的了解为啥这么做求出的答案就是正确的么?为什么么要这么实现?今天我们就从**欧几里得算法**开始聊起。(PS: 本节所讲的内容,或许在大部分场景上不知道如何使用,但却是当代密码学,如`rsa`算法和傅里叶变换的基础和前置知识)...原创 2022-07-31 18:41:13 · 235 阅读 · 0 评论 -
前缀和与树状数组(手撕算法篇)
我们了解了传统的前缀和数组的优缺点以及树状数组解决了传统前缀和数组的那些问题,也了解了差分数组与前缀和数组之间的关系,接下来就通过几道算法题来提升巩固一下这些知识吧。原创 2022-07-31 16:59:47 · 252 阅读 · 0 评论 -
前缀和与树状数组(数据结构基础篇)
在我们以往的文章中,经常会出现使用`前缀和`求取区间和的场景。但是,很多同学对于`前缀和`的概念和一些优缺点并不清楚,因此,这边发个单章单独聊一下前缀和与树状数组。原创 2022-07-31 16:57:53 · 480 阅读 · 0 评论 -
哈夫曼编码与二叉字典树
你知道计算机底层是如何存储数据的吗?你了解什么是编码吗?你知道定长编码和变长编码的区别吗?你知道最优的变长编码是怎样的吗?我们今天就带着这些问题来一探究竟吧原创 2022-07-31 16:55:56 · 3963 阅读 · 0 评论 -
Kiner算法刷题记(二十一):字典树与双数组字典树(手撕算法篇)
学习了字典树与双数组字典树的特性与应用场景,并且手撕了字典树的经典实现,接下来,我们通过几道字典树相关算法题巩固一下吧。原创 2022-07-23 14:12:43 · 154 阅读 · 0 评论 -
Kiner算法刷题记(二十一):字典树与双数组字典树(数据结构基础篇)
你了解字典树是怎样的数据结构么?字典树适用于哪些场景呢?双数组字典树相较于普通字典树又有哪些优势和特点呢?原创 2022-07-23 14:09:19 · 255 阅读 · 0 评论 -
gitlab 创建 merge-request 时执行作业
为了项目代码更加健壮,避免一些低级错误以及有一些业务不了解而导致的问题,我们每个需求上线之前都需要邀请其他同学进行代码评审,然而每次都要手动在群里面邀请其他同学未免有一些麻烦了,因此,想要使用`CI`工具,在创建`merge-request`请求时自动发送代码评审邀请。但目前`gitlab`中的事件触发`merge_requests`不仅仅在创建`merge-request`时会触发,我们每次推送更改到已经提过`merge-request`的源分支时,都会触发改工作,导致我们每次推送都会发送一次邀请通知。.原创 2022-07-21 22:13:46 · 1620 阅读 · 0 评论 -
Kiner算法刷题记(二十):字符串的经典匹配算法(手撕算法篇)
我们已经了解了字符串单模匹配问题具体是怎样的一个问题,并且学习了暴力匹配、KMP算法、Sunday算法、Shift-And算法等经典的字符串匹配算法及每种算法的优缺点和使用场景。今天就来通过几道算法题来巩固提升一下这些算法的特性与基础吧。...原创 2022-06-03 11:05:58 · 113 阅读 · 0 评论 -
Kiner算法刷题记(二十):字符串的经典匹配算法(算法基础篇)
字符串匹配算法相较于我们之前学习过的其他算法而言,需要极强的观察能力,不然,看似简单的问题,可能会被复杂化。今天我们就来一起了解一些经典的字符串匹配算法以及常用的辅助字符串匹配的数据结构,以及学习一下这些匹配算法的特性,在什么场景下应该使用哪个算法匹配会更高效。...原创 2022-06-03 11:03:07 · 106 阅读 · 0 评论 -
Kiner算法刷题记(十九):动态规划(算法优化篇)
前言之前整整花了4个文章篇幅讨论了从递推到到动态规划,从递推套路到递推问题的求解方向,从递推公式到动态转移方程。我们也已经初步了解了一个动态规划程序要从何下手了。但是,我们之前实现的动态规划还不是最优的程序,很多程序为了能够更简单直白的阐述所讲知识点,因此没有对这些题目进行优化。今天咱们就通过一些实实在在的算法题来看看我们要如何优化一个动态规划程序。714. 买卖股票的最佳时机含手续费解题思路状态定义:我们获得最大收益无非取决于第i不持有股票的最大收益和第i天持有股票的最大收益。因此,我们有两个递原创 2022-05-28 11:39:53 · 108 阅读 · 0 评论 -
Kiner算法刷题记(十九):动态规划(手撕算法篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记1143. 最长公共子序列解题思路递推状态:我们最长公共子序列的长度取决于以第i-1个字符作为结尾的A字符串与以第j-1个字符作为结尾的B字符串公共子串长度。因此,我们的递推状态应为:dp[i,j],代表:A串长度为i位,B串长度为j位的最长公共子序列的长度。递推公式(状态转移方程):当我们A串第i-1个字符与B串第j-1个字符相等时原创 2022-05-28 11:35:57 · 110 阅读 · 0 评论 -
Kiner算法刷题记(十九):动态规划(算法基础篇)
我们之前学习了递推算法和地推套路,也说过了递推算法与动态规划暧昧不清的关系,那么,今天就来初步的学习一下动态规划。原创 2022-05-28 11:16:56 · 120 阅读 · 0 评论 -
Kiner算法刷题记(十八):递推算法与递推套路(手撕算法篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记前言之前学习基础知识的时候也说了,递推和动态规划有这暧昧不清的关系,可以说,动态规划就是多了一个决策过程的递推,因此,我们今天的刷题也会涉及到一些比较简单的动态规划的题目,同样能够对我们深刻的理解递推算法起到帮助,也为我们之后深入学习动态规划算法和动态规划的优化打下基础。前置知识滚动数组使用场景:当我们下(上)一行的状态可以仅仅通过上原创 2022-02-13 18:37:24 · 175 阅读 · 1 评论 -
Kiner算法刷题记(十八):递推算法与递推套路(算法基础篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记递推公式每一个递推算法,都有一个递推公式,通过递推公式我们可以更加明确的了解递推算法。斐波那契数列的递推公式f(n) = f(n-1) + f(n-2),这是我们斐波那契数列的递推公式,有很多同学可能会问,这个公式实际有什么用呢?接下来,我们来直接看一个算法题:爬楼梯LeetCode 70. 爬楼梯这道题我们要怎么理解呢?我们如果想原创 2022-02-13 18:35:55 · 98 阅读 · 0 评论 -
参与开源项目指南(偏前端方向)
相信有不少前端小伙伴都过想要参与一些开源项目开发的想法,但是有些时候由于一些客观原因,如无人指导、没有比较完善的一个参与开源项目的流程与步骤,不知如何下手。刚好,最近业务上使用antd-design/pro-components这个开源框架比较多,在开发时也遇到了一些框架本身的bug或者是用起来不方便的地方,因此,也向antd-design/pro-components提了多次PR,并全部审核通过。借此机会梳理一下参与开源项目的一些流程和注意事项,也为一些没有参与过开源项目开发的小伙伴提供一下参考,不至于像原创 2022-01-24 08:20:58 · 1329 阅读 · 0 评论 -
Kiner算法刷题记(十七):红黑树之删除调整
红黑树的删除调整插入调整是站在祖父节点向下看,而删除调整则是站在父节点向下看。删除调整发生的场景删除怎样的节点会引起红黑树的失衡删除度为0的红色节点平衡条件中并没有对度为0的红色节点有什么限制,因此,度为0的红色节点可以直接删除,不影响红黑树的平衡删除度为1的红色节点根据之前我们学习的AVL树删除度为1的节点的调整策略,我们要将度为1的红色节点的唯一子节点挂到他爸爸上面去(托孤),这样,即使他的子节点是黑色节点,也不会影响红黑树的平衡,因为每条路径上的黑色节点依然相同。但是,我们还需要思原创 2022-01-23 21:20:04 · 341 阅读 · 0 评论 -
Kiner算法刷题记(十七):红黑树之插入调整(手撕算法篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记前言我们已经学习了红黑树的概念、基本性质、平衡条件、与AVL树的关系,也学习了红黑树的集中失衡情况以及这些失衡情况都要如何进行调整,还通过Typescript手写了一个支持插入操作的红黑树结构。那么接下来,我们就通过一些相关的算法题来巩固一下这些知识点吧LeetCode 1339. 分裂二叉树的最大乘积解题思路这道题的意思就是让我们在原创 2022-01-23 21:17:12 · 277 阅读 · 0 评论 -
Kiner算法刷题记(十七):红黑树之插入调整(数据结构基础篇)
红黑树,是特化的AVL树,有独特的平衡判断条件,有了AVL树的基础,我们学习红黑树时将如遇得水原创 2022-01-23 21:14:44 · 201 阅读 · 0 评论 -
Kiner算法刷题记(十六):二叉平衡排序树——AVL树(手撕算法篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记前言了解了二叉排序树和AVL树的基本概念,知道了前驱节点和后继节点的含义以及对于AVL树的左旋和右旋操作有了基本的认知,接下来就通过一些相关的算法题深入巩固一下这些知识点。面试题 04.06. 后继者解题思路题目说明了该二叉树时一个二叉排序树,那么,我们可以在中序遍历的过程中,访问到每一个节点,而当前节点的后继节点,其实就是在中序遍历原创 2021-09-29 22:18:39 · 128 阅读 · 0 评论 -
Kiner算法刷题记(十六):二叉平衡排序树——AVL树(数据结构基础篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记二叉排序树(二叉搜索树、二叉查找树)基础知识二叉排序树也叫二叉搜索树、二叉查找树,他相较于普通二叉树的性质如下:二叉排序树的性质二叉排序树的任意左子树的值都小于他的根节点的值,任意右子树的值都大于他的根节点的值,二叉排序树的中序遍历结果是一个单调递增的有序序列。二叉排序树性质的维护插入新节点从上面的操作过程我们可以看出二叉排序树原创 2021-09-29 22:16:52 · 113 阅读 · 0 评论 -
Kiner算法刷题记(十五):中段综合训练刷题
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记前言经过了数个月的学习,我们了解了包括链表、队列、栈、二叉树、堆(优先队列)、并查集、哈希表、单调队列、单调栈等数据结构,知道了他们的概念、性质、基本代码实现和应用场景,还学习了常见的排序算法如:快速排序、归并排序、计数排序、基数排序、拓扑排序,常见的查找算法:二分查找、深度优先搜索和广度优先搜索。那么,现在就来一个“期中考试”测验一下对原创 2021-08-15 19:07:20 · 152 阅读 · 0 评论 -
Kiner算法刷题记(十四):数据结构中的“渣男”——单调栈(手撕算法篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记503. 下一个更大元素 II解题思路由于题目要求找到每个元素下一个更大的元素,明显就是求最近大于关系的问题,因此,我们可以使用单调递减栈来帮我们解决这个问题。不过,这道题还有一个特殊的点,就是需要循环搜索,此时,我们可以使用一个编程技巧,就是将目标元素组内的元素copy一份,让新的数组时原始数组的两倍,这样就可以很方便的处理循环搜索问题原创 2021-08-01 20:37:14 · 180 阅读 · 0 评论 -
Kiner算法刷题记(十四):数据结构中的“渣男”——单调栈(数据结构基础篇)
知识回顾我们之前讨论过单调队列,知道单调队列是用来维护区间最值的神兵利器:维护区间最小值用单调递增队列,维护区间最大值用单调递减队列。单调队列有两种操作:入队操作:从尾部入队,入队时,为了保证队列的单调性,需要将队列中已有所有违反单调性的元素都删掉之后再将新元素入队出队操作:当头部元素已经移出了滑动窗口时,需要将头部元素从头部出队。那么,大家再来思考一件事,我们的队列和栈有啥关系吗?我们是不是可以把栈看成是一头被堵住的队列呢?由于便秘,屁股被堵住了出不去,所以这哥们只能通过抠喉把吃进去的东西吐出来原创 2021-08-01 20:34:56 · 139 阅读 · 0 评论 -
Kiner算法刷题记(十三):单调队列(手撕算法篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记239. 滑动窗口最大值解题思路求取滑动窗口最大值,由于滑动窗口问题实际上就是固定结尾的RMQ问题,我们可以使用单调队列解决,而要求解的是最大值,因此应该使用单调递增队列。代码演示/* * @lc app=leetcode.cn id=239 lang=typescript * * [239] 滑动窗口最大值 */// @原创 2021-07-25 15:35:40 · 133 阅读 · 0 评论 -
Kiner算法刷题记(十三):单调队列(数据结构基础篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记从RMQ问题开始RMQ问题(Range Minimum/Maximum Query),即区间最大/最小值求解问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值,也就是说,RMQ问题是指求区间最值的问题。RMQ(x,y),就是求解一个数组在(x,y)区间内的最小值原创 2021-07-25 15:34:29 · 164 阅读 · 2 评论 -
Kiner算法刷题记(十二):深搜(DFS)与广搜(BFS):初识问题状态空间(手撕算法)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记前言了解了搜索算法的很核心概念,知道了问题求解树是个什么东西,掌握了深搜和广搜的特点以及实现思路之后,下面将分别针对深搜和广搜进行刷题巩固。编程技巧扩展方向/偏移量数组// 如下面的二维数组,$所在的位置,他要移动一步有四种可能性:// 1. 向上移动一步,即y坐标-1,x坐标不变(0,-1)// 2. 向左移动一步,即x坐标-1原创 2021-07-11 09:40:24 · 297 阅读 · 0 评论 -
Kiner算法刷题记(十二):深搜(DFS)与广搜(BFS)——初识问题状态空间(算法基础篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记搜索的核心概念问题求解树问题求解树又叫问题状态树或状态求解树。这不是一个真实的计算机结构,而是我们思维逻辑层面的一种结构。如下图,我们可以将状态1展开得状态2、状态3、状态4,而状态3又展开得状态5和状态6. 状态1 / | \ 状态2 状态3 状态4原创 2021-07-11 09:38:52 · 229 阅读 · 1 评论 -
Kiner算法刷题记(十一):哈希表与布隆过滤器(手撕算法篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记前言了解了哈希表的底层实现原理,知道了哈希函数的设计、哈希冲突的解决方案以及布隆过滤器的应用场景之后,再来一波算法题加深一下对哈希表的理解吧。705. 设计哈希集合解题思路这道题我们其实就可以直接使用拉练法实现哈希表,因为这道题要求删除元素,而链表对于插入和删除元素的效率都是很高的。代码演示/* * @lc app=leetco原创 2021-06-26 08:25:44 · 188 阅读 · 0 评论 -
Kiner算法刷题记(十一):哈希表与布隆过滤器(数据结构基础篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记哈希表解决了什么问题哈希表主要利用数组索引查找的高效来解决了快速索引数据的问题。我们知道,数组给出下标x,要查找x中存储的值是相当快的,其时间复杂度是O(1)。但由于数组的索引是整形,而我们实际开发工作中可能需要用于索引的数据类型可能是字符串、或者其他的自定义类型,没办法直接使用数组索引的方式快速查找。那么,有没有一种方式,能让我们使用原创 2021-06-26 08:23:16 · 298 阅读 · 0 评论 -
Kiner算法刷题记(十):二分查找(手撕算法篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记69. x 的平方根解题思路这道题我们可以使用二分法来解决,由于我们知道:parseInt(x/2)^2 <= (√x)^2,因此我们可以知道,我们要查找的x的平方根的范围是在0~x/2的范围之内,只需要设置两个指针,并通过头尾指针取中间值的方式计算出mid,然后,让mid^2与x作比较便可。代码演示/* * @lc app=原创 2021-06-20 11:36:08 · 181 阅读 · 0 评论 -
Kiner算法刷题记(十):二分查找(算法基础篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记二分查找算法通过头尾指针确定查找区间,然后通过不断地缩小查找区间来缩小我们的查找范围,最终找到目标值。所以二分查找其实二分的是查找区间。二分查找在每一次调整查找区间时,一定会保证如果存在目标值,那么这个目标值一定存在与我们调整后的查找区间当中。PS:二分查找的条件是在有序数组中查找,无序数组需要从小到大排序后再进行二分查找# 使用二分法原创 2021-06-20 11:31:32 · 148 阅读 · 0 评论 -
Kiner算法刷题记(九):有趣的排序思想(手撕算法篇)
1122. 数组的相对排序解题思路这题是典型使用计数排序的题目,我们只需要根据第二个数组中的元素对第一个数组中每一个元素统计数量,然后按照计数排序的规则先将第二个数组中有的数放入结果数组,然后再将第二个数组中没有的元素依次加入到结果数组即可。代码演示/* * @lc app=leetcode.cn id=1122 lang=typescript * * [1122] 数组的相对排序 * * https://leetcode-cn.com/problems/relative-sort-arr原创 2021-06-13 11:03:50 · 142 阅读 · 0 评论 -
Kiner算法刷题记(九):有趣的排序思想(算法基础篇)
计数排序基础知识与原理当我们待排序的序列中只有有限种类的数,如只有1,2,3三个数字时,适合使用计数排序,因为只有这么几种情况,我们只需要把每个数字出现的次数统计出来,然后按照顺序依次输出每个数字统计个数的数即可。如:原数组:[3,2,2,3,1,1,2]计数:1出现了2次,2出现了3次,3出现了两次排序: 先输出两个1,在输出3个2,最后输出2个三结果: [1,1,2,2,2,3,3]应用场景综上所述:计数排序适用于简单的单值排序问题,排序问题中,数据的值域很有限例如:我现在要统计全国所有原创 2021-06-13 11:02:30 · 199 阅读 · 0 评论 -
Kiner算法刷题记(八):归并排序MergeSort(手撕算法篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记23. 合并K个升序链表解题思路这道题算一个比较综合性的题目,既涉及到了之前学过的链表,也涉及到了堆,还涉及到了归并排序的逻辑。首先,我们来想一下,合并三个链表的过程,是不是跟归并排序的过程及其相似,在几个链表中找到他们的最小值,然后放入到一个临时的链表中,然后继续找下一个最小值。而在找链表最小值的时候,又可以使用我们之前学过的小顶堆来快原创 2021-06-09 09:48:15 · 597 阅读 · 0 评论 -
Kiner算法刷题记(八):归并排序MergeSort(算法思想基础篇)
系列文章导引系列文章导引开源项目本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star。GitHub传送门:Kiner算法算题记定义所谓归并排序,就是在递归过程中将数组进行拆分,然后再回溯的过程中将递归的结果合并。因此,归并排序大体上分为两个步骤:递归分解回溯合并算法优势大数据排序的霸主级算法归并排序二路归并排序将两个有序数组合并为一个有序数组原理# 例如将下面的数组进行排序[1,4,2,3,5,8,6,7,9,0]# 进行归并排序的时原创 2021-06-09 09:46:54 · 145 阅读 · 0 评论 -
Kiner算法刷题记(七):快排及快排思想(手撕算法篇)
系列文章导引系列文章导引前言我们熟悉了快速排序的思想与其实现原理之后,可以在我们实际开发中带来很多的启发与灵感,借助快速排序双指针的游走的思想,我们也可以解决很多类快排问题。现在就来借助一些算法题巩固一下对于讨论的快排思想。刷题剑指 Offer 21. 调整数组顺序使奇数位于偶数前面解题思路这道题的要点就是我们要找到数组中的奇偶数,并将他们按照规则放到他们改在的地方。我们可以借助快排中的双指针思想,让左右游标不断在数组中游走,左游标遇到偶数和右游标遇到奇数时,我们就可以让左右游标对应的值交原创 2021-06-06 12:28:03 · 178 阅读 · 0 评论