classMinStack{//用链表模拟栈,作为栈存储的容器classListNode{int val;//当前结点的值int min;//当前最小值。用一个变量模拟最小值栈ListNode next;//下一个结点publicListNode(){}publicListNode(int val,int min,ListNode next){this.val = val;this.min = min;//min就是最小值栈this.next = next;}}ListNode head;//头结点publicMinStack(){
head =newListNode();//头结点初始化}//入栈操作publicvoidpush(int val){ListNode next = head.next, cur;//获取栈顶元素next,cur是当前要插入结点if(next !=null&& next.min < val){//如果栈不为空//但是当前栈中最小值,比val更小,那么将当前结点入栈,但是最小值依然保存next.min
cur =newListNode(val, next.min, next);}else{//如果栈为空,直接入栈当前结点//或者栈不为空,但是当前结点的值更小的话,那么新的最小值为当前的val值
cur =newListNode(val, val, next);}
head.next = cur;//头插法,实现先入后出}//出栈publicvoidpop(){ListNode del = head.next;//取出栈顶元素
head.next = del.next;//头结点指向新的栈顶元素}//获取栈顶元素的值publicinttop(){return head.next.val;}//获取最小值,就在栈顶元素的min变量中保存publicintgetMin(){return head.next.min;}}/**
* Your MinStack object will be instantiated and called as such:
* MinStack obj = new MinStack();
* obj.push(val);
* obj.pop();
* int param_3 = obj.top();
* int param_4 = obj.getMin();
*//**
* Your MinStack object will be instantiated and called as such:
* MinStack obj = new MinStack();
* obj.push(val);
* obj.pop();
* int param_3 = obj.top();
* int param_4 = obj.getMin();
*/
一、前文必看
Spring Cloud微服务网关Zuul动态路由配置。在前文中留了两个小坑。在本文将怕它给填了,所以前一篇文章建议看一下。
二、DynamicZuulRouteLocator小优化
在前文中提到,HeartbeatEvent事件会频繁触发,每次都需要去查询数据库。…
一、重新定义HIS: 传统HIS是基于局域网的医院信息系统,云HIS全称为基于云计算的医疗卫生信息系统(Cloud-Based Healthcare Information System),是运用云计算、大数据、物联网等新兴信息技术,按照现代医疗卫…
目录 IOC:控制反转
Ioc概念
Ioc的优点
Spring Ioc
AOP:面向切面编程
AOP的优点
Spring AOP
1.添加依赖
2.核心概念
3.通知的类型
4.切点表达式
5.公共切点 pointCut
6.切面优先级 Order
7.使用自定义注解完成AOP的开发
Spring AOP实现有几种方式?
S…