Fork me on GitHub

Leetcode-155-最小栈

Leecode-155-Min Stack

思路:辅助栈/数据同步

题目描述

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。

1
2
3
4
push(x) ——   将元素 x 推入栈中。
pop() —— 删除栈顶的元素。
top() —— 获取栈顶元素。
getMin() —— 检索栈中的最小元素。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
输入:
["MinStack","push","push","push","getMin","pop","top","getMin"]
[[],[-2],[0],[-3],[],[],[],[]]

输出:
[null,null,null,null,-3,null,0,-2]

解释:
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); --> 返回 -3.
minStack.pop();
minStack.top(); --> 返回 0.
minStack.getMin(); --> 返回 -2.
阅读更多...

IO-06-序列化和反序列化

IO-序列化和反序列化

1. 什么是序列化和反序列化?

  • 序列化:把堆内存上的Java对象数据,通过某种方式把对象存储到磁盘文件中或者传递给其他网络节点。这个过程称为序列化,通俗来说就是将数据结构或者对象转换成二进制串的过程。

  • 反序列化:把磁盘文件中的对象数据或者把网络节点上的对象数据,恢复成Java对象模型的过程。也就是将在序列化过程中所产生的二进制串转换成数据结构或者对象的过程。

阅读更多...

Spring-04-自动装配

Spring-04-自动装配

mark

1. 自动装配Bean说明

  • 自动装配是使用spring满足bean依赖的一种方法
  • spring会在应用上下文中为某个bean寻找其依赖的bean。

Springbean三种装配机制,分别是:

  1. 在xml中显式配置;
  2. 在java中显式配置;
  3. 隐式的bean发现机制和自动装配。(重要)

这里我们主要讲第三种:自动化的装配bean

Spring的自动装配要从两个角度实现,或者说是两个操作

  1. 组件扫描(component scanning):spring会自动发现应用上下文中所创建的bean;
  2. 自动装配(autowiring):spring自动满足bean之间的依赖,也就是我们说的IoC/DI;
  3. 组件扫描和自动装配组合发挥巨大威力,使得显示的配置降低到最少。

注意:推荐不使用自动装配xml配置 , 而使用注解 .

官方文档位置 : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-factory-autowire

mark

阅读更多...

IO-05-包装流

IO-包装流

根据功能分为节点流和包装流(处理流)

  • 节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader

  • 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据的读写。如BufferedReader,处理流的构造方法总是要带一个其他的流的参数做对象。一个流对象经过其他流的多次包装,称为流的链接。

阅读更多...

Leetcode-062-不同路径

Leecode-062-Unique Paths

思路:动态规划

题目描述

mark

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)

问总共有多少条不同的路径?

  • 注意(这里有个坑,m是列数,n才是行数)
阅读更多...
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信