自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

听雪楼

听雪楼中听雪落,彼岸花开彼岸零

  • 博客(24)
  • 资源 (7)
  • 收藏
  • 关注

原创 MySQL高级-索引优化

索引优化的前提知识要理解MySQL的索引相关知识, 需要能看懂MySQL的执行计划explain, 关于explain的详解可以参考博文 : https://blog.csdn.net/love905661433/article/details/82905060索引定义在数据之外, 数据库系统还维护着满足特定查找算法的数据结构, 这些数据结构以某种方式引用(指向)数据, 这样就可以在这...

2018-10-02 10:30:26 499 1

原创 LeetCode-283. 移动零

题目给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。解题首先,使用一个变量nonZeroIndex记录非零元素的索引位置, 设定[0, nonZeroIndex]前开后闭区间元素都非0对数组...

2018-10-31 10:54:05 237

原创 LeetCode-169. 求众数

题目给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2解题这个就很简单, 使用一个Map保存数组, key为数组元素, value为数组中数字出现次数, 然后找出遍历map...

2018-10-30 17:08:38 339

原创 LeetCode-766. 托普利茨矩阵

题目如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。示例 1:输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出: True解释:在上述矩阵中, 其对角线为:“[9]”, “[5, 5]”, “[1, 1, 1]”, “[...

2018-10-30 16:48:21 711

原创 LeetCode-717. 1比特与2比特字符

题目有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。示例 1:输入:bits = [1, 0, 0]输出: True解释:唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。示例 2:输入:bits ...

2018-10-26 15:21:59 301

原创 LeetCode-566. 重塑矩阵

题目在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:输入:n...

2018-10-26 14:48:42 257

原创 LeetCode-118. 杨辉三角

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]解答观察图片可以看出有如下规律, 第一行就是一个1, 下面的每一行的元素arr[i]=prev[i - 1] + prev[i]; prev表示上...

2018-10-23 10:54:18 448

原创 LeetCode-867. 转置矩阵

题目给定一个矩阵 A, 返回 A 的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例 1:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例 2:输入:[[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]提示:1 <= A.length <...

2018-10-23 10:20:54 393

原创 LeetCode-561. 数组拆分 I

题目给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示:n 是正整数,范围在 [1, 10000].数...

2018-10-22 18:37:04 208

原创 LeetCode-905. 按奇偶排序数组

题目给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。解答最简单的方式就是对数组进行一次"排序", 这个排序自定义大小规则, 我们设定所有偶数都小于奇数,偶...

2018-10-22 14:01:37 417

原创 高级排序-堆排序

概述堆排序其实就是利用堆这种数据结构的特性进行排序, 关于堆的特性, 可以参考 : https://blog.csdn.net/love905661433/article/details/82989404代码实现这里实现一个简单的最大堆, 然后使用最大堆进行排序, 由于只是用来排序, 这里就直接使用一个只支持int类型的堆, 代码如下:package sort.heap;import ...

2018-10-22 10:40:32 154

原创 高级排序-快速排序详解

辅助工具数组工具类 : https://blog.csdn.net/love905661433/article/details/83106078用于比较的归并排序代码 : https://blog.csdn.net/love905661433/article/details/83118153概述快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排...

2018-10-18 12:34:11 706 1

原创 高级排序算法-归并排序

辅助工具数组工具类代码 : https://blog.csdn.net/love905661433/article/details/83106078用于对比的基础排序代码 : https://blog.csdn.net/love905661433/article/details/83117977归并排序O(nlogn)级别算法需要额外的辅助空间稳定的排序算法对于排序算法稳定性的定...

2018-10-17 21:36:14 191

原创 排序算法-基础排序算法(冒泡, 选择, 插入)

辅助工具数组工具类代码 : https://blog.csdn.net/love905661433/article/details/83106078选择排序O(n²)级别算法以从小到大排列为例, 每次循环找到剩余未排序数组中最小的值, 和为排序数组的第一个位置交换位置如针对数组[3, 4, 1, 8, 7], 排序步骤如下:第一次循环结束 : [1, 4, 3, 8, 7]...

2018-10-17 21:23:19 210

原创 排序辅助测试-数组工具类

数组工具类数组工具类, 为了方便对排序进行测试, 工具定义了一些便利的方法生成随机int型数组生成一个近乎有序或者完全有序的数组判断一个int型数组是否是从小到大排好序的交换int型数组中两个元素位置数组打印返回排序算法时间数组拷贝, 拷贝一个同样的int型数组对数组arr的[l, r]的区间进行插入排序package utils;import java.util....

2018-10-17 10:39:56 429

原创 数据结构-平衡二叉树之AVL树

概述二分搜索树 : https://blog.csdn.net/love905661433/article/details/82981527针对普通的二分搜索树, 在最坏的情况下可能会退化成链表, 所以就引入了平衡二叉树的概念平衡二叉树满二叉树一定是平衡二叉树完全二叉树也是平衡二叉树对于任意一个节点, 左子树和右子树的高度差不能超过1平衡二叉树的高度和节点数量之间的关系是O(log...

2018-10-14 19:53:19 308

原创 数据结构-并查集

并查集一种特殊的树, 由子节点执行父节点方便解决连接问题主要操作union(p,q)用于合并p, q所在的集合isConnected(p,q)判断p,q是否相连代码实现首先先定义并查集的接口, 接口定义如下:package tree.uf;/** * 并查集接口 * @author 七夜雪 * */public interface UF { /**...

2018-10-13 11:06:26 269

原创 数据结构-线段树

线段树特点线段树不是完全二叉树线段树是平衡二叉树对于给定区间, 支持更新和查询操作 :更新 : 更新区间中的一个元素或者一个区间的值查询 : 查询一个区间[i, j]的最大值, 最小值, 或者区间数字和使用数组构建线段树如下图所示数组A, 以求和为例, 根节点A[0-7]存放的就是A[0-3]节点和A[4-7]节点之和, 下面的每个节点存放的值都是该节点对应左右孩子节点的...

2018-10-11 09:31:16 304

原创 数据结构-优先队列

优先队列普通队列 : 先进先出(FIFO); 后进后出优先队列 : 出队顺序和入队顺序无关, 和优先级相关使用最大堆可以很方便的实现优先队列, 代码如下 :package queue;import heap.MaxHeap ;/** * 使用最大堆实现优先队列 * @author 七夜雪 * * @param <E> */public class Pri...

2018-10-09 21:52:55 347

原创 数据结构-最大堆

堆二叉堆(Binary Heap)二叉堆是一颗完全二叉树堆中某个节点的值总是大于等于(或小于等于)其子节点, 对应的就是最大堆和最小堆可以用数组存储二叉堆, 数组下标以1开始,可以如下展示 :数组从0开始, 展示如下 :操作添加元素在数组的最后一个位置添加一个新元素新的元素进行上浮(Sift Up), 上浮操作如下图:取出元素堆每次只能取出最大的元...

2018-10-09 21:40:45 4750 2

原创 数据结构-映射

存储键值(Key, Value)数据对的数据结构根据键(Key),寻找值(Value)非常容易使用链表或二分搜索树进行实现Java中的HashMap和TreeMap底层分别基于哈希表和红黑树进行实现代码实现 :package map;/** * 使用二分搜索树实现Map * @author 七夜雪 * * @param <K> * @param <V&...

2018-10-09 16:41:02 655

原创 数据结构-使用二分搜索树实现集合(Set)

概述集合不能添加重复元素可以使用二分搜索树很方便的实现集合集合的典型应用 :客户统计词汇量统计代码实现集合可以很方便的使用二分搜索树进行实现, 现在引用上面实现的二分搜索树实现集合集合接口定义 :package set;public interface Set<E extends Comparable<E>> { /** * 集合中添加...

2018-10-09 14:29:51 257

原创 数据结构-二分搜索树(Binary Search Tree)

特点动态数据结构是一颗二叉树二分搜索树的每个节点的值:每个节点的值都大于其左子树的所有节点的值每个节点的值都小于其右子树的所有节点的值每一颗子树也是二分搜索树存储的元素必须有可比较性, Java中的话就要求二分搜索树保存的数据类型要实现Comparable接口, 或者使用额外的比较器实现一般二分搜索树不包含重复元素, 当然也可以定义包含重复元素的二分...

2018-10-09 14:08:28 9315 3

原创 MySQL高级-锁机制详解.md

概述锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中, 出传统的计算资源(如CPU, RAM, IO等)的争用以外, 数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性, 有效性是所有数据库必须解决的一个问题, 锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说, 锁对数据库而言显得尤其重要, 也更加复杂。锁的分类按照数据操作类型分类读锁(共享锁...

2018-10-02 15:21:28 298

mysql-8.0.25-macos11-x86_64.zip

mysql for mac 8.0

2021-06-03

23种设计模式思维导图

23种设计模式思维导图 创建型设计模式 结构型设计模式 行为型设计模式

2018-11-25

事务定义,特性,隔离级别

作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行

2018-07-29

极客学院算法wiki

LeetCode 题解 - v1.0 轻松学习排序算法 - v1.0 一步一步写算法 - v1.0 坐在马桶上学算法 - v1.1

2017-10-28

PHP+Ajax+jQuery网站开发项目式教程

慕课网视频教程,资源是个下载地址 项目1 PHP环境搭建 项目2 学生信息管理 项目3 网站用户中心 。。。

2017-10-24

阿里巴巴Java开发手册

阿里巴巴集团推出的《阿里巴巴Java开发手册》是阿里巴巴近万名开发同学集体智慧的结晶,以开发视角为中心,详细列举如何开发更加高效、更加容错、更加有协作性,力求知其然,更知其不然,结合正反例,让Java开发者能够提升协作效率、提高代码质量。

2017-10-23

算法新解—刘新宇

《算法新解》一书由刘新宇所著,本书适合软件开发人员、编程和算法爱好者,以及高校学生阅读参考。邮电出版社出版发行

2017-09-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除