- 博客(57)
- 收藏
- 关注
原创 图解 | LeetCode #143 重排链表
今天分享的题目有:LeetCode #876 链表的中间节点LeetCode #206 反转链表LeetCode #143 重排链表01 LeetCode #876 链表的中间节点题目描述:给定一个头节点为 head 的非空单链表,返回链表的中间节点。如果有两个中间节点,则返回第二个中间节点。示例:输入:[1,2,3,4,5]输出:此列表中的节点 3思路分析:要找到链表的中间节点,可以定义两个指针,一个是慢指针slow,另一个是快指针fast。初始,慢指针slow和快
2021-03-05 20:35:49 454
原创 图解 | LeetCode #206 反转链表
题目描述:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思路分析:对于题目给出的链表,简化如下:由于只知道链表的头节点head,因此需要从头节点head开始反转。头节点head在反转之后,就成为了链表的尾节点,而尾节点的后继指针是指向null的。因此,需要定义一个空节点,在这里我们用prev表示。同时,对于当前考察的节点,我们用cur表示。接着要做的就是,将cu
2021-03-05 20:15:29 177
原创 图解 | LeetCode #876 链表的中间节点
题目描述:给定一个头节点为 head 的非空单链表,返回链表的中间节点。如果有两个中间节点,则返回第二个中间节点。示例:输入:[1,2,3,4,5]输出:此列表中的节点 3思路分析:要找到链表的中间节点,可以定义两个指针,一个是慢指针slow,另一个是快指针fast。初始,慢指针slow和快指针fast都指向链表的头节点。然后,快指针fast每次向前移动两步,慢指针slow每次向前移动一步,当快指针fast不能继续向前移动时,慢指针slow所指的节点就是中间节点。对于节点个数为奇数的链表来说
2021-03-05 20:12:33 198
原创 图解 | LeetCode #61 旋转链表
题目描述:给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5->1->2->3->NULL示例 2:输入: 0->1->2-&
2021-03-05 20:08:24 172
原创 图解 | LeetCode #19 删除链表的倒数第N个节点
题目描述:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]思路分析:示例给出的链表结构如下图所示:要删除链表中的某个节点,需要知道其前一个节点。对于头节点来说,其没有前一个节点,因此,需定义虚拟头节点,如下图:这里要删除的是链表中倒数第2个节点,其前一个节点是指针slow指向的节点。那如何确定指针slow指向的位置呢?在这里还需引入指针fast,当指针fast指向null时,它与
2021-03-03 23:31:13 270 1
原创 36张图带你深刻理解链表
欢迎来到算法小课堂,今天分享的内容是链表这种数据结构。在浅谈数组这篇文章中,我们说到数组在内存中是用一块连续的内存空间存储的。由于是用连续内存空间存储的,那么就会出现,明明还剩50M内存...
2021-01-11 11:17:00 1535
原创 满满的一篇,全是复杂度分析核心知识点
欢迎来到算法小课堂,今天分享的内容是算法的复杂度分析。文章内容包括以下几点:时间复杂度大O记法时间复杂度分析常见时间复杂度最好、最坏、平均情况时间复杂度均摊时间复杂度空间复杂度在淘宝或京...
2021-01-03 14:03:57 593
原创 从简单到复杂,一文带你搞懂滑动窗口在数组及字符串中的应用
欢迎来到算法小课堂,今天分享的内容是滑动窗口在数组中的应用。分享的题目是LeetCode中的:209.长度最小的子数组 难度 中等438.找到字符串中所有字母异位词难度 中等76.最小...
2020-12-28 08:30:00 135
原创 一文多图带你看看如何用「对撞指针」思想巧解数组题目
欢迎来到算法小课堂,今天分享的内容是对撞指针在数组中的应用。分享的题目是LeetCode中的:167.两数之和||-输入有序数组125.验证回文串11.盛最多水的容器接下来,逐一看下如何...
2020-12-20 14:21:45 120
原创 20张图!3个视频!一文带你搞定「快慢指针」在数组中的应用
欢迎来到算法小课堂,今天分享的内容是快慢指针在数组中的应用。快慢指针解决数组问题的基本思路是:用慢指针记录可以复写数据的位置,快指针遍历整个数组。对于快指针什么时候停止,慢指针什么时候移...
2020-12-15 08:30:00 228
原创 将博客搬至CSDN
欢迎来到算法小课堂,今天讲解的内容是冒泡排序。冒泡排序的基本思想是:首先,每次冒泡操作,是对相邻的两个元素进行比较,看是否满足预设的大小关系。接着,如果不满足预设的大小关系,则将相邻的两...
2020-12-13 22:52:28 100
原创 LeetCode #80 删除排序数组中的重复项II
欢迎来到算法小课堂,今天分享的内容是LeetCode中80.删除排序数组中的重复项II这个题目。题目描述:给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元...
2020-12-12 08:30:00 169
原创 LeetCode #26 删除排序数组中的重复项
欢迎来到算法小课堂,今天分享的内容是LeetCode中26.删除排序数组中的重复项这个题目。题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后...
2020-12-10 08:30:00 178
原创 LeetCode #27 移除元素
欢迎来到算法小课堂,今天分享的内容是LeetCode中27.移除元素这个题目。题目描述:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移...
2020-12-08 08:30:00 116
原创 数据结构 #1 浅谈数组
欢迎来到算法小课堂,今天讲解的内容是数组。在Java语言中,数组是有序数据的集合,数组中的每个元素必须是相同的数据类型。所谓有序数据的集合,表达的是数组是一种线性表的数据结构,即数组中的...
2020-12-03 08:30:00 205
原创 排序算法 #7 双路快排
欢迎来到算法小课堂,今天讲解的内容是双路快排。双路快排的基本思想是:一、选择一个元素作为基准元素。二、对于基准元素后面的元素,同时从左往右和从右往左进行考察。一次考察结束之后,基准元素前...
2020-12-01 08:30:00 356
原创 排序算法 #6 快速排序
欢迎来到算法小课堂,今天讲解的内容是快速排序。快速排序的基本思想是:一、选择一个元素作为基准元素。二、将小于基准元素值的元素放在其前面;大于等于基准元素值的元素放在其后面。三、对基准元素...
2020-11-26 08:30:00 105
原创 排序算法 #5 归并排序
欢迎来到算法小课堂,今天讲解的内容是归并排序。归并排序中有两个核心思想:一是归并,二是分治。接下来我们就一一看下何为归并,何为分治。01合并两个有序数组现在有两个有序数组,分别是数组F=...
2020-11-24 08:30:00 174
原创 排序算法 #4 再讲插入排序
欢迎来到算法小课堂,今天讲解的内容是插入排序的另一种实现思路。插入排序的基本思想是:首先,将数组分为已排序区间和未排序区间。初始,已排序区间只有一个元素,即数组中的第一个元素。然后,...
2020-11-20 12:00:00 90
原创 排序算法 #3 插入排序
欢迎来到算法小课堂,今天讲解的内容是插入排序。插入排序的基本思想是:首先,将数组分为已排序区间和未排序区间。初始,已排序区间只有一个元素,即数组中的第一个元素。然后,取未排序区间中的元素...
2020-11-18 12:00:00 111
原创 排序算法 #2 冒泡排序
欢迎来到算法小课堂,今天讲解的内容是冒泡排序。冒泡排序的基本思想是:首先,每次冒泡操作,是对相邻的两个元素进行比较,看是否满足预设的大小关系。接着,如果不满足预设的大小关系,则将相邻...
2020-11-15 10:55:49 119
原创 排序算法 #1 选择排序(文字版)
欢迎来到算法小课堂,今天讲解的内容是选择排序。选择排序的基本思想是:首先,将数组分为已排序区间和未排序区间。然后,找出未排序区间中最小(大)的元素,放在已排序区间的末尾。重复这个过程,...
2020-11-09 12:00:00 134
原创 Echarts饼图字体颜色
官网代码:option = { title : { text: '某站点用户访问来源', subtext: '纯属虚构', x:'center' }, tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%...
2018-11-01 10:35:58 14317
原创 Spring Boot 自定义异常及统一异常处理
自定义异常自定义异常要继承RuntimeExceptionpublic class ShowtimeException extends RuntimeException { private Integer code; public ShowtimeException(ResultEnum resultEnum){ super(resultEnum.g...
2018-04-26 22:53:00 1481
原创 Spring Boot 数据库操作及其增删改查
项目结构如下图: 在application.yml配置文件中加入以下内容:spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://192.167.0.115:3306/showtime?characterEncoding=utf-8 username: roo...
2018-04-24 22:30:13 2241
原创 图解如何用IDEA创建Spring boot项目
创建项目并启动 新建ShowtimeController类,内容如下package com.showtime.showtime;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestContr...
2018-04-22 16:23:49 308
原创 Spring Cloud Eureka
服务治理微服务作为服务提供方主动向服务治理中心注册,服务的消费方通过服务治理中心查询需要的服务进行消费。Spring Cloud Eureka 架构
2018-04-22 15:24:32 182
原创 Spring Cloud 技术栈
微服务技术栈负载均衡:高可用,集群部署服务治理: 服务注册、发现容错: 避免崩塌监控跟踪: 监控资源利用、服务响应消息总线: 消息队列、异步通讯配置管理: 统一配置管理Spring CloudSpring Cloud是若干个框架的集合,提供了服务治理、服务网关、智能路由、负载均衡、监控跟踪、分布式消息队列、配置管理等领域的解决方案。Sleuth 链路跟踪T...
2018-04-21 21:32:44 324
原创 微服务的由来及其定义
单体架构所谓单体架构就是所有的功能模块都集成在一个项目中,就是只有这一个项目,所有的开发人员都是在这个项目中开发各自的模块。单体架构是早起的架构系统,适用于开发周期短,小型的项目。它的缺点是,当项目的功能模块越来越多时,不易于继续开发和维护。而且一个项目中各个模块的访问量是不一样的,比如在电商系统中,当有促销活动时,订单模块的访问量会远大于登录等其它模块,这样把所有模块都集群部署就不太...
2018-04-21 21:15:46 2482
原创 IDEA 使用java读取配置文件的方式
IDEA项目机构如图: 测试代码:public class TestUtil { public static void main(String[] args) { Properties properties = new Properties(); InputStream resourceAsStream = TestUtil.class.ge...
2018-04-21 18:00:57 3981
原创 Redis集群搭建
安装redis之后,进入usr/local/目录[root@VM_0_7_centos local]# lltotal 52drwxr-xr-x. 2 root root 4096 Sep 23 2011 bindrwxr-xr-x. 2 root root 4096 Sep 23 2011 etcdrwxr-xr-x. 2 root root 4096 Sep 23 20...
2018-04-19 22:44:17 184
原创 Nginx入门之安装
Nginx是一款高性能的http服务器/反向代理服务器。官方测试可以支持5万的并发应用场景http服务器虚拟主机。可以实现在一台服务器虚拟出多个网站。反向代理,负载均衡。Nginx安装手册官网:http://nginx.orgnginx安装环境nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。gcc安装n...
2018-04-16 23:42:35 192
原创 Web项目中图片上传之vsftpd的安装
传统方式这是在只有一个项目的情况下,但是当项目部署在两个或多个tomcat下时,该如何处理呢?集群环境不论访问哪个tomcat,图片都保存在图片服务器,在访问时,也是直接从图片服务器获得vsftpd服务器搭建yum -y install vsftpdcd /mkdir ftpfile进入ftpfile目录useradd ftpuser -d /...
2018-04-15 17:21:25 360
原创 SpringMVC 入数据绑定
默认支持的类型HttpServletRequestHttpServletResponseHttpSession基本类型@Controller@RequestMappingpublic class ShowtimeController { @RequestMapping("/baseType") @ResponseBody public String...
2018-04-14 22:14:06 175
原创 Tomcat部署项目后不加项目名称访问
Eclipse 修改server.xml配置文件 修改内容如下图所示,即path=”/” IntelliJ IDEA如图选择Edit Configurations… 进入如下界面,Application context的值即为访问项目时的路径,什么也不填时,即可不加项目名称访问 ...
2018-04-12 23:58:16 2571
原创 SpringMVC 入门程序之注解开发
项目原型如图: ShowtimeController中内容如下:package cn.ac.showtime.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.s...
2018-04-11 23:50:02 282
原创 SpringMVC 入门程序
新建web项目,结构如下: web.xml中的配置:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web=...
2018-04-11 22:39:35 162
原创 SpringMVC框架原理浅析
DispatcherServlet —— 前端控制器HandlerMapping —— 处理器映射器HandlerAdapter —— 处理器适配器Handler —— 处理器ViewResolver —— 视图解析器View —— 视图用户发送请求到前端控制器DispatcherServlet前端控制器DispatcherServlet接收到用户请求后,调用处理器...
2018-04-10 23:56:34 221
原创 dubbo服务的发布与引用
Spring配置文件中内容如下:<!-- 发布dubbo服务 --> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="showtime-manager" /> <!-- 注册中心的地址 --> <dubbo:registry protocol="zoo...
2018-04-09 23:28:29 248
原创 Spring与Mybatis整合之mapper.xml文件的加载方式
mapper与mapper.xml不在同一目录下这里所说的mapper与mapper.xml不在同一目录下指的是mapper在src/main/java下,mapper.xml在src/main/resources下。此时,对mapper文件的扫描配置如下:<bean name="mapperScannerConfigurer" class="org.mybatis.spring...
2018-04-09 23:27:36 5576
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人