
【算法】
文章平均质量分 68
算法学习记录
IFFQ
Java
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指 Offer 39. 数组中出现次数超过一半的数字
原题链接 题目描述 解题 这题也不难,解法也很多: 哈希表统计法:遍历数组 nums,用 HashMap 统计各数字的出现次数,最终找出出现次数超过数组长度一半的数组元素。 数组排序法:将数组 nums 排序,由于需要找出出现次数超过数组长度一半的元素,那么数组中点的元素必然是这个我们要找的元素 摩尔投票法:核心理念为“正负抵消”;其实就是一换一。由于我们需要找出的元素是占有整个数组元素的一半以上,那么即使这个元素和其他元素进行“兑子”,最后剩下的依旧是这个元素。 这里重点记述摩尔投票法。 摩尔投原创 2020-09-12 00:08:52 · 262 阅读 · 0 评论 -
剑指 Offer 27. 二叉树的镜像
原题链接 题目描述 解题 其实这题的解法很简单:访问二叉树的所有节点,并在访问过程中交换每个节点的左右子树。 记录此题,主要是记录二叉树的遍历方式。 树节点结构: public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } 1.依序遍历(前序,中序,后序) 前序遍历//非递归实现 public void preOrder(TreeNode root){ if(原创 2020-09-11 23:22:02 · 277 阅读 · 0 评论 -
剑指 Offer 25. 合并两个排序的链表
原题链接 题目描述 解题 合并两个递增排序的链表并不难,解法也有很多,这里推荐两种解法: 1.带伪头节点的双指针解法 这种方法其实本质上还是双指针的运用,但它构造了一个伪头节点,这个带伪头节点的链表就是合并之后的新链表: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; }原创 2020-09-10 22:38:04 · 197 阅读 · 0 评论 -
剑指 Offer 24. 反转链表
原题链接 题目描述 解题 实现链表的反转其实不难,一开始想到的是把链表转化为数组,然后将数组元素的值逆序存入新链表中,返回新链表。 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNod原创 2020-09-09 21:00:19 · 184 阅读 · 0 评论 -
剑指 Offer 15. 二进制中1的个数
原题链接 题目描述 解题 很显然,这是一道位运算的题目。 位运算:常见的有 按位与(&)和按位或(|)两种。 此处需要统计整数二进制表示中1的个数,所以可以利用 按位与(&)运算遍历整数二进制表示中的每一位(0,1)。 根据 按位与(&)运算规则,设有二进制数字 n,有: 若 n&1 = 0,则二进制数字 n 最右那一位为 0; 若 n&1 = 1,则二进制数字 n 最右那一位为 1; 注:在 Java 中,编译器使用二进制补码记法来表示有符号整数。因原创 2020-09-08 22:05:23 · 145 阅读 · 0 评论 -
线性时间选择算法
线性时间选择算法期望为线性时间的随机选择算法最坏情况为线性时间的选择算法 期望为线性时间的随机选择算法 期望为线性时间的随机选择算法 是一种解决选择问题的分治算法。它是以快速排序算法为模型的,与快速排序算法一样,仍然将输入数组进行递归划分;但,与快速排序算法不同的是,快速排序算法需递归处理划分的两边,而选择算法则是只处理一边。这一差异导致其性能上有所区别:快速排序算法的期望运行时间为 Θ(nlgn...原创 2020-02-06 23:36:52 · 2143 阅读 · 0 评论 -
排序算法总结(JAVA)
排序算法总结(JAVA)基本排序算法冒泡排序插入排序选择排序如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 基本排序算法 冒泡排序 插入排序 选择排序 如何改变...原创 2020-01-23 14:42:13 · 326 阅读 · 0 评论