➡️
继续阅读
-
【Java 实现经典算法】数字黑洞
文章介绍数字黑洞6174(Kaprekar常数)算法:对各位数字不全相同的四位正整数,反复将四个数字按降序和升序排列后相减,最终会得到6174;若四位数字...
-
【Java 实现经典算法】每K个结点反转单链表
题目要求将单链表中每K个结点反转,不足K个的尾部保持原序。思路是先按链表长度和K确定需反转的结点数,每K个反转成新链表并将头结点存入List,剩余不足K个...
-
【Java 实现经典算法】科学计数法
本文介绍如何用Java将科学计数法字符串转换为普通数字表示,并保留全部有效位(包括末尾的0)。核心思路是把数值当作字符串处理:指数为负时,将小数点前移并补...
-
剑指Offer之三十-最小的K个数
文章介绍求n个整数中最小K个数的三种解法:一是排序后取前K个,复杂度取决于排序算法;二是基于partition函数,仅适用于可修改输入数组;三是用最大堆或...
-
剑指Offer之二十九-数组中出现次数超过一半的数字
题目要求找出数组中出现次数超过一半的数字,不存在则输出0。解法一用map记录各元素出现次数,超过数组长度一半即返回。解法二设标识变量,遇相同数字次数加1,...
-
剑指Offer之二十八-字符串的排列
题目要求按字典序输出字符串的所有字符排列,字符串长度不超过9且可能包含重复字符。思路是使用递归:固定首字符,与后续字符依次交换以生成排列;每次交换后需再交...