- 博客(15)
- 收藏
- 关注
原创 MySQL中innodb引擎中自增主键为什么不是连续的?
版本区别在MySQL5.7以及之前的版本中自增主值是保存在内存中的,并没有持久化,每次重启之后第一次打开表的时候汇去找自增值的最大值max(ID),然后进行+1操作后作为当前表的自增值。而在MySQL8.0的版本后,MySQL有了“自增值持久化”的能力,实现了MySQL重启后可以恢复为重启之前的值。8.0版本将自增值的变更记录在redo log 中,重启的时候依靠redo log恢复之前的值。...
2019-05-24 15:31:23 375
原创 最长不重复字串
# 最长不重复字串 (使用滑动窗口)定义数组用来判断当前字符是否已经出现在滑动窗口中,若出现,左窗口放到当前位置。public int lengthOfLongestSubstring(String s) {int maxLen = 0;int arr[] = new int[128];for (int i = 0, j = 0; i < s.length() &&...
2018-09-12 10:49:55 151
原创 找出数组中任意一个重复出现的数字
一个长度为n的数组arr,数组元素范围为0到n-1,数组中没有重复或者有一个或多个重复,如果有重复输出任意一个重复的,无重复输出-1。思路1:时间复杂度O(n),空间复杂度O(n) 使用哈希表的原理,重新定义一个n长的数组table(默认值全部为0),遍历数组arr,当table[arr[i]] == 0的时候,说明arr[i]第一次出现,否则出现重复。思路2:时间复杂度O...
2018-09-06 14:27:55 1810
原创 出栈顺序
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路:遍历pushA,push[i]每次入栈,然后循环判断栈顶元素是否等于popA[j],相等则出栈,...
2018-04-05 16:07:25 298
原创 数据库表明大小写问题
在Windows中,mysql默认不区分表明的大小写,而在linux中mysql中对大小写敏感。解决办法:在linux中,进入/etc/mysql/mysql.conf.d/目录下,修改mysql.conf文件,添加一行lower_case_table_names=1如下图51行所示:然后重启数据库:/etc/init.d/mysql restart...
2018-04-04 17:31:29 956
原创 二叉树的镜像
操作给定的二叉树,将其变换为源二叉树的镜像。二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5思路:二叉树就是递归的产物,对二叉...
2018-04-02 16:20:48 102
原创 数的子结构
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路:运用递归的思想,判断以当前节点为根节点的数是不是和B相同,相同则B是A的子结构;若不相同,则判断B是不是该节点的左子树的子结构或者右子树的子结构。代码:public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode...
2018-04-02 16:11:47 285
原创 覆盖矩形
f(n)表示2*n个矩形共有f(n)种放法。当最后一列竖着放的时候,而有f(n - 1)种放法 ;当最后四个方格横着放时,共有f(n-2)种放法。所有f(n) = f(n -1) +f(n-2),即为斐波那契数列。public class Solution { public int RectCover(int target) { if(target < 3) { ...
2018-03-25 14:27:58 193
原创 变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。第一种做法,递归的方式。每次跳的可能共有n种。class Solution {public: int jumpFloorII(int number) { int count = 0; jump(0, number, &count); ...
2018-03-23 23:58:43 116
原创 使用两个栈实现队列
栈 :只能在栈顶进行出栈和入栈操作队列:一端入队,另一端出队思路:一个栈用来入栈,另一个栈用来出栈。队列的特点是先进先出,而栈的特点是先进后出,所以栈二用来存储栈一的出栈顺序,则栈二首先出栈是先进栈一的元素。所以入队操作就是直接对栈一进行入栈操作,出队的时候,如果栈二不空,则栈二直接出栈,否则将栈一的所有元素出栈,入栈到栈二中,然后对栈二进行出栈操作。import java.util.Stac...
2018-03-23 11:25:26 127
原创 重建二叉树
给出一棵二叉树的前序遍历序列和中序遍历序列,要求: 生成这棵二叉树思路:二叉树一般使用递归的思想,在这里使用前序遍历的方式生成这棵树。先根据前序遍历序列得到根节点,然后在中序遍历序列中找到这个根节点,根节点左边的是左子树中序序列,右边的是右子树中序序列,然后分别构造左子树和右子树。public class Solution { public TreeNode reConstructBinar...
2018-03-23 11:01:15 93
原创 倒序打印链表每一个节点的值
用递归的方法,到最后一个节点开始输出public class Solution { public void printListFromTailToHead(ListNode listNode) { visit(listNode, list); } public void visit(ListNode listNode) { if(listNod...
2018-03-22 21:02:13 144
原创 字符串替换空格
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution { public String replaceSpace(StringBuffer str) { String str1 = str.toString(); String r...
2018-03-21 22:27:25 108
原创 二维数组中查找一个数
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。1. 从左上角开始,向下或者向右,递归解决public class Solution { public boolean Find(int target, int [][] array) { return dfs(t...
2018-03-21 21:57:33 885
原创 实现单例模式
1. 只适用单线程class Singleton { private static Singleton instance; private Singleton() { } public static Singleton getInstance() { if(instance == null) { instance = new Singleton(); } return instance;...
2018-03-21 21:19:42 217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人