思路: 中序:左->根->右 1.需要一个建立一个栈,首先将左子树放入栈中 2.获取栈顶元素并进行节点判断是否有右子树 3. 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode ...
分类:
其他好文 时间:
2020-07-27 23:50:51
阅读次数:
62
1.使用git log命令来查看之前的提交信息,如下图可以找到每一次提交的唯一标识 2.使用git reset --hard + 提交唯一标识,来回退到之前的版本 3.使用git push origin + 分支名 --force命令来覆盖掉远端的版本信息,使远端的仓库也回退到相应的版本,需要加上参 ...
分类:
其他好文 时间:
2020-07-27 23:48:21
阅读次数:
84
我看到很多人再工作中经常使用redis 但一般都是使用redis的string的key-values类型,所以今天想写写这个随笔。 首先我们要了解到redis有五大类型: 1、string 类型 key-value的形式 ,此类型有一个问题在内存中最小数据为512byte[].所以为有一定的内存浪费 ...
分类:
其他好文 时间:
2020-07-27 17:48:39
阅读次数:
67
双端队列广搜 1. 算法分析 双端队列广搜算法只适用于边权只有0和1的情况,本质上是对dijkstra堆优化版本的再次优化。由于dijkstra堆优化版本每次要把最小值从队头拿出,然后更新其他值后插入队列。而当边权只有0和1时,当处理的边权为0,那么更新完仍然为最小值,直接放入队头;为1则插入队尾。 ...
分类:
其他好文 时间:
2020-07-27 13:40:39
阅读次数:
68
1.栈的基础使用,js中数组直接可以作为栈使用,栈遵循先进后出的原则,即js可以使用push()和pop() 比较容易的实现一个栈 20. 有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 ...
分类:
编程语言 时间:
2020-07-27 09:34:28
阅读次数:
84
跳石头 简单的二分答案,贪心地判断解 #include<bits/stdc++.h> #define fi first #define se second #define pb push_back #define mp make_pair #define SZ(x) ((int)x.size()) ...
分类:
其他好文 时间:
2020-07-26 23:05:34
阅读次数:
73
目录1. AOP 概念2. AOP 编程的开发步骤3. 切面的名词解释4. AOP 的底层实现原理4.1 动态代理类的创建4.2 总结5. Spring 工厂如何加工原始对象1. AOP 概念 POP (Producer Oriented Programing) 面向过程(方法、函数)编程 —— C... ...
分类:
编程语言 时间:
2020-07-26 22:55:04
阅读次数:
90
如何使用Windows Terminal并将它加入你的右键菜单 作为一个始终向往各种花里胡哨东西的我,又怎么仅仅会止步于页面死板的传统命令行页面呢?🤭我还尝试过注入cmder之类的,但效果还是不满意(cmder的启动速度慢到可怜。。。),于是盯上Windows Terminal这款软件了。写这篇文 ...
栈的规则性设计 问题:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含小元素的min函数(时间复杂度应为O(1))。 保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。 解决: #使用辅助栈 class Solution: def __init__(self): ...
分类:
其他好文 时间:
2020-07-26 19:23:34
阅读次数:
68
git push -u origin master和git push <远程主机名> <本地分支名>:<远程分支名>作用 git push git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。 $ git push <远程主机名> <本地分支名>:<远程分支 ...
分类:
其他好文 时间:
2020-07-26 19:09:01
阅读次数:
85