Fork me on GitHub

Leetcode-020

Leecode-020 Valid Parentheses

思路:辅助栈

题目描述

  • 如果有一个‘(’对应就有一个‘)’

  • 如果有一个‘{’对应就有一个‘}’

  • 如果有一个‘[’对应就有一个‘]’

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Example 1:

Input: "()"
Output: true
Example 2:

Input: "()[]{}"
Output: true
Example 3:

Input: "(]"
Output: false
Example 4:

Input: "([)]"
Output: false
Example 5:

Input: "{[]}"
Output: true
阅读更多...

Leetcode-1111-有效括号的长度

Leecode-1111 Maximum Nesting Depth of Two Valid Parentheses Strings

思路:辅助栈

题目描述

有效括号的意思:一句话概括就是每个左括号都可以找到右括号与之配置。

题面中的 depth 其实就是栈的最大深度。“你需要从中选出任意一组有效括号字符串 A 和 B,使 max(depth(A), depth(B)) 的可能取值最小”。这句话的意思就是想要A字符串和B字符串的depth尽可能的接近。(原因:每个左括号都有一个对应的深度,这个左括号要么是A的,要么是B的。所以只需要按照奇数偶数分配给A和B就行了)

复杂度分析

时间复杂度很明显是 O(n)的,空间复杂度也是 O(n)(如果算返回的变量的话)。

阅读更多...

JDK1.8源码-01-java.lang.Object

JDK1.8源码-01-java.lang.Object

1. 简介

首先介绍JDK所有类的基类–java.lang.Object。

  • Object类属于java.lang包,此包下的所有类在使用的时候无需手动导入,系统会在程序编译期间自动导入。

  • Object 类是所有类的基类,当一个类没有直接继承某个类时,默认继承Object类,也就是说任何类都直接或间接继承此类

  • Object 类中能访问的方法在所有类中都可以调用

下面我们会分别介绍Object 类中的所有方法。

阅读更多...

云服务器-环境搭建

云服务器-环境搭建

1. 作用简介

  • linux环境练习
  • 自己的远程仓库,远程数据库,远程Tomcat

2. 服务器购买

2.1 学生机

尽量趁打折,购买,便宜!

如果是学生或者24以下的小伙伴,可以购买学生机,100多元一年

香港服务器可以避免备案,但是尽量不要自己挂VPN,会被封!

学生机连接:https://www.aliyun.com/activity/promotion/campus2018

2.2 新用户活动

优惠活动:

https://www.aliyun.com/sale-season/2020/procurement-new-members?userCode=0phtycgr

3. 购买后配置

  1. 配置安全组

  1. 获取服务器的公网ip地址; 修改实例名称和密码,第一次修改需要重启. 使用xshell 远程连接

  1. xftp用于文件上传下载,或者使用WinSCP

SpringBoot-14-SpringSecurity

SpringBoot-14-SpringSecurity

1. 安全简介

在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因素考虑进来,并在整个应用的开发过程中。

阅读更多...

SpringBoot-12-整合Druid

SpringBoot-12-整合Druid

1. 简介

  • Java程序很大一部分要操作数据库,为了提高操作数据库时候的性能,又不得不适用数据库连接池。
  • Druid是阿里巴巴开源平台上的一个数据库连接池的实现,结合了C3P0,DBPC等优秀DB池的特点,同时又加入了日志监控的功能。
  • Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。
  • Spring Boot 2.0 以上默认使用 Hikari数据源,可以说HikariDriud都是当前Java Web 上最优秀的数据源,我们来重点介绍 Spring Boot 如何集成Druid 数据源,如何实现数据库监控。

注意:

  • 之前我们的JDBC 整合 使用的是Hikari数据源
    • 现在是JDBC 整合了 Druid的数据源

阅读更多...

SpringBoot-11-整合JDBC

SpringBoot-11-整合JDBC

1. Spring-Data

  • 对于数据层的访问,无论是SQL(关系型数据库)还是NOSQL(非关系型数据库),SpringBoot底层都是采用Spring Data的方式进行统一处理。

  • Spring Boot 底层都是采用Spring Data 的方式进行统一处理各种数据库,Spring Data也是 Spring 中与Spring BootSpring Cloud等齐名的知名项目。

  • Sping Data 官网:https://spring.io/projects/spring-data

  • 数据库相关的启动器 :可以参考官方文档:

https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/htmlsingle/#using-boot-starter

阅读更多...

SpringBoot-10-项目实战

SpringBoot-10-项目实战

1. 项目简介

  • 该项目整合了CRUD实现员工管理案例,将MyBatis整合到原项目中,加入了数据库,添加了日期选项控件

环境要求

  • IDEA
  • MySQL
  • Maven
  • 需要熟练掌握MySQL数据库,SpringBoot及MyBatis知识,简单的前端知识;
阅读更多...
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信