![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
文章平均质量分 64
从入门开始
kangin0914
一只菜鸟,分享一下我的学习笔记
一口吃不成一个胖子,得一点一点来
打怪升级,变得优秀起来
展开
-
红黑树平衡经典案例(图解)及插入Java实现(代码)
红黑树平衡的经典案例 红黑树几条规则(查阅相关论文得到): 红黑树是一种平衡二叉查找树的变体,它的左右子树高差有可能大于 1,所以红黑树不是严格意义上的平衡二叉树(AVL),但对之进行平衡的代价较低, 其平均统计性能要强于 AVL 。 红黑树的每个节点的属性除了有一个 key 和 3 个指针:parent、lchild、rchild 外 ,还有一个属性 :color:红或黑 。 与大多数二叉查找树一样 ,红黑树中较小的键值也是在左子树保存 。 红黑树除了具有二叉查找树所有性质外,还具有以下 5 点性质原创 2021-02-01 18:49:49 · 272 阅读 · 0 评论 -
剑指offer 顺时针打印矩阵(力扣 螺旋矩阵)题解java
给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 例: 首先我们分析一下,画一个简单的图,图有点丑陋,用手画的 我们遍历的时候也就这四个方向,横着遍历到(未遍历的)头,然后向下,向左,向右,如果还有元素则重复动作,如此 public ArrayList<Integer> printMatrix(int[][] matrix){ ArrayList<Integer> ret = new ArrayList<>(原创 2020-05-08 21:45:46 · 369 阅读 · 0 评论 -
二进制中1的个数,长见识了
按位什么什么一直是我触及不到的地方,今天遇到的这个题真是长见识了 15. 二进制中 1 的个数 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 我已经把补码忘却了就去查了一下 正数的原码、反码、补码是一致的; 负数的补码是反码加1,反码是对原码按位取反,只是最高位(符号位)不变; 计算机数字运算均是基于补码的。 大概就是这样,这不是重点 运用下面的位运算去除 n 的位级表示中...原创 2020-04-27 22:43:17 · 135 阅读 · 0 评论 -
搜索旋转排序数组java实现
力扣 33. 搜索旋转排序数组 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O(log n) 级别。 示例 1: 输入: nums = [4,5...原创 2020-04-27 20:53:36 · 298 阅读 · 0 评论 -
用回溯法解决矩阵中的路径
刷力扣的时候看到有人推荐刷一遍剑指offer先,我算法还很菜,这道题把我难住了,决定写一篇博客来记录一下 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 矩阵中包含一条字符串"bcced"的路径,但是...原创 2020-04-27 07:48:23 · 218 阅读 · 0 评论