➡️
继续阅读
-
剑指Offer之三十-最小的K个数
文章介绍求n个整数中最小K个数的三种解法:一是排序后取前K个,复杂度取决于排序算法;二是基于partition函数,仅适用于可修改输入数组;三是用最大堆或...
-
剑指Offer之二十八-字符串的排列
题目要求按字典序输出字符串的所有字符排列,字符串长度不超过9且可能包含重复字符。思路是使用递归:固定首字符,与后续字符依次交换以生成排列;每次交换后需再交...
-
剑指Offer之二十七-二叉搜索树与双向链表
文章介绍如何将二叉搜索树原地转换为排序双向链表:利用中序遍历的有序性递归处理左右子树,遍历到叶子结点时将其设为链表首结点,再调整父结点及右孩子的 left...
-
剑指Offer之二十一–包含min函数的栈
实现含min函数的栈:维护一个辅助栈,入栈时将新元素与辅助栈顶比较,较小者压入辅助栈;出栈时两栈同步弹出,使辅助栈顶始终为当前栈中最小元素。
-
剑指Offer之二十–顺时针打印矩阵
本文讲解剑指Offer中的“顺时针打印矩阵”问题:从外向内按顺时针顺序依次输出矩阵中的数字。核心是当起始坐标的两倍小于矩阵阶数时继续循环;每圈分四步打印,...
-
【Java 实现经典算法】数字黑洞
文章介绍数字黑洞6174(Kaprekar常数)算法:对各位数字不全相同的四位正整数,反复将四个数字按降序和升序排列后相减,最终会得到6174;若四位数字...