dan_zhoudan
码龄7年
关注
提问 私信
  • 博客:123,009
    社区:42
    123,051
    总访问量
  • 201
    原创
  • 1,746,488
    排名
  • 20
    粉丝
  • 0
    铁粉

个人简介:研究生阶段

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2017-11-27
博客简介:

zhouth94的博客

查看详细资料
个人成就
  • 获得56次点赞
  • 内容获得21次评论
  • 获得177次收藏
  • 代码片获得246次分享
创作历程
  • 4篇
    2021年
  • 195篇
    2020年
  • 2篇
    2019年
成就勋章
TA的专栏
  • 笔试题
    7篇
  • 算法基础学习
    33篇
  • 数据结构
    20篇
  • MySQL
    2篇
  • 消息队列RabbitMQ
    6篇
  • 计算机网络基础
    4篇
  • 并发编程与多线程
    6篇
  • JVM学习
    3篇
  • ElasticSearch学习
    3篇
  • Spring
    1篇
  • Redis学习
    3篇
  • JavaSE基础
    17篇
  • 设计模式
    1篇
  • SpringBoot框架学习
    31篇
  • 微服务SpringCloud入门
    6篇
  • java线程池
    2篇
  • AcWing
    10篇
  • LeetCode
    14篇
  • Lucene全文检索技术
    5篇
  • 剑指Offer
    1篇
  • GitHub学习
    1篇
  • 前端Node.js学习
    1篇
  • Nginx学习
    1篇
  • IDEA工具
    3篇
  • Spring Security学习
    1篇
  • Mybatis学习
    4篇
  • Apache Shiro学习
    5篇
  • Docker学习
    8篇
  • SpringMVC学习
    3篇
  • Dubbo学习
    7篇
  • 传智健康项目
    2篇
  • 短信服务(Short Message Service)
    1篇
  • Thymeleaf 模板引擎
    6篇
  • 学习心得
    7篇
兴趣领域 设置
  • 人工智能
    opencv计算机视觉机器学习深度学习神经网络tensorflow
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

字符串前缀哈希

字符串哈希题目给定一个长度为 n 的字符串,再给定 m 个询问,每个询问包含四个整数 l1,r1,l2,r2,请你判断 [l1,r1] 和 [l2,r2] 这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。输入格式第一行包含整数 n 和 m,表示字符串长度和询问次数。第二行包含一个长度为 n 的字符串,字符串中只包含大小写英文字母和数字。接下来 m 行,每行包含四个整数 l1,r1,l2,r2,表示一次询问所涉及的两个区间。注意,字符串的位置从 1 开始编号。输
原创
发布博客 2021.10.27 ·
396 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

区间分组 -- 活动安排问题

一.题目给定 N 个闭区间 [ai,bi],请你将这些区间分成若干组,使得每组内部的区间两两之间(包括端点)没有交集,并使得组数尽可能小。输出最小组数。输入格式第一行包含整数 N,表示区间数。接下来 N 行,每行包含两个整数 ai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示最小组数。数据范围1≤N≤105,−109≤ai≤bi≤109输入样例:3-1 12 43 5输出样例:2解答思路1将结点按照左端点排序,然后使用优先队列(小根堆)Priority
原创
发布博客 2021.10.27 ·
495 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

2021-06-04

题目:输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上 c。请你将进行完所有操作后的矩阵输出。输入格式第一行包含整数 n,m,q。接下来 n 行,每行包含 m 个整数,表示整数矩阵。接下来 q 行,每行包含 5 个整数 x1,y1,x2,y2,c,表示一个操作。输出格式共 n 行,每行 m 个整
原创
发布博客 2021.06.04 ·
476 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

前缀和与差分

差分 思想:通过原始数组a,构造差分数组b。由下面两个函数构成://差分数组的插入函数public void insert(int l,int r,int c) { b[l] += c; b[r+1] -= c;}//a数组for(int i = 1;i <= n;i ++) { a[i] = sc.nextInt();}//构造差分数组bfor(int i = 1;i <= n;i ++) { insert(i, i, ...
原创
发布博客 2021.06.04 ·
205 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

搜索与图论 - n皇后问题

1、问题描述n-皇后问题是指将 n 个皇后放在 n∗n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数n,请你输出所有的满足条件的棋子摆法。输入格式共一行,包含整数n。输出格式每个解决方案占n行,每行输出一个长度为n的字符串,用来表示完整的棋盘状态。其中”.”表示某一个位置的方格状态为空,”Q”表示某一个位置的方格上摆着皇后。每个方案输出完成后,输出一个空行。输出方案的顺序任意,只要不重复且没有遗漏即可。
原创
发布博客 2020.06.24 ·
440 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HTTP与HTTPS

1、HTTP和HTTPS发展历史http2:多路复用通过单一的HTTP/2连接请求发起多重的请求-响应消息,多个请求stream共享一个TCP连接,实现多路并行而不是依赖建立多个TCP连接。
原创
发布博客 2020.09.26 ·
4402 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HTTP协议解析

面试高频问题 -- HTTP协议1、HTTP是一个客户端和服务器端请求和应答的标准(TCP)。2、HTTP协议解析 -- 协议讲解-- 发起请求-- 无状态协议一次请求,一次响应就结束了。-- HTTP请求(三部分)-- HTTP响应(三部分)-- HTTP请求方法常见的:GET、POST、HEAD-- HTTP状态码...
原创
发布博客 2020.09.15 ·
216 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

BIO/NIO/AIO 三种IO模式概述

1、BIO(blockio 同步阻塞模式)1. BIO模式问题1.1 阻塞问题服务端在接收客户端套接字请求时,accept() 方法阻塞等待:一直等到有客户端接入时才往下执行。客户端写数据时,阻塞:一直停留在wirte() 这行代码,直到把所有的消息全部写出去,并且服务端接受到消息。1.2 多线程问题服务端接收套接字后,都需要开辟一个线程进行处理,非常消耗服务器的性能。2、NIO(none block io 同步非阻塞模式)buffer缓冲区、channel管道、Sel...
原创
发布博客 2020.09.09 ·
860 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

计算机网络底层原理分析详解

1、不同层次的网络协议网络层:实现数据的路由和发送2、一个HTTP请求的分层解析流程域名一般维护在什么服务器上面 ==> DNS服务器:域名和主机ip的对应关系
原创
发布博客 2020.09.05 ·
3438 阅读 ·
4 点赞 ·
0 评论 ·
21 收藏

AcWing 603. 打怪兽 腾讯2019,笔试题

1、题目描述小Q打算穿越怪兽谷,他不会打怪,但是他有钱。他知道,只要给怪兽一定的金币,怪兽就会一直护送着他出谷。在谷中,他会依次遇见N只怪兽,每只怪兽都有自己的武力值和要“贿赂”它所需的金币数。如果小Q没有“贿赂”某只怪兽,而这只怪兽“武力值”又大于护送他的怪兽武力之和,这只怪兽就会攻击他。小Q想知道,要想成功穿越怪兽谷而不被攻击,他最少要准备多少金币。输入格式第一行包含整数N,表示怪兽的数量。第二行包含N个整数d1,d2,…,dnd1,d2,…,dn,表示每只怪兽的武力值。
原创
发布博客 2020.09.04 ·
377 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis 数据结构 - 跳跃表

1、redis 跳跃表是什么跳跃表实际是一个有层数概念的双向链表。有头结点、尾结点、记录长度和层数。头结点是傀儡结点,用来指向下一个结点。尾结点是指向跳跃表中最大分数的结点,层数是跳跃表中的最高层数。跳表是基于链表的,在链表的基础上加了多层索引结构。在Redis的有序集合中就使用了跳表。跳表是多层链表,最底层的链表包含所有的数据。越往上层,链表的结点越稀疏。但是,高层的结点一定包含在底层结点中。1.1 下面是一个跳表的示例需要特别指出的是:针对数据中的每个节点,它应该创.
原创
发布博客 2020.09.01 ·
576 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Spring 基础

1、IOC2、DI3、细节
原创
发布博客 2020.08.31 ·
142 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

搜索引擎 - ElasticSearch

第一章 ElasticSearch简介1. 什么是ElasticSearch是基于Lucene开发的全文检索服务器2. ElasticSearch的使用案例第二章 ElasticSearch安装与启动
原创
发布博客 2020.08.24 ·
427 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

搜索与图论算法的模板化思路

queue <- 队头元素 (入队)while(queue.size() > 0) { t <- 队头 (出队) //扩展t的所有邻点 x for(int x = h[t]; x != -1; x = ne[x]) { int j = e[x]; if(!st[j]) { queue <- j; //j入队 }...
原创
发布博客 2020.08.22 ·
170 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JDK8中ConcurrentHashMap源码解析

线程安全1.8中没有了Segment对象1. put()1.8中 ,concurrentHashMap只有一个Node[]数组:putVal():首先计算hash值,然后根据这个 hash & (n - 1),算出下标 iUnsafe():通过Unsafa()方法从数组中获取第i个元素的值。CAS自旋:new Node<K,V>(),通过cas的操作,将新的Node结点放到数组的第i个位置。如果cas成功,则 break。若CAS失败..
原创
发布博客 2020.08.22 ·
260 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

1.8 HashMap源码

1、红黑树《算法导论》中对于红黑树的定义:每个节点或是红的,或是黑的 根节点是黑的 每个叶节点是黑色(叶节点用Null来表示 Show Null Leaves) 如果一个结点是红色,则它的两个儿子都是黑色(不能出现连续的红节点) 对每个结点,从该节点到其子孙结点的所有路径上包含相同数目的黑节点(黑节点平衡)NULL结点插入新节点:默认是红色 变色操作 例如:依次插入10、20、30会进行 变色 + 左旋红黑树新插入结点p:p的父节点是黑色,则不用进行调整;p.
原创
发布博客 2020.08.19 ·
157 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ConcurrentHashMap JDK1.7

1. ConcurrentHashmap2. HashEntry3.
原创
发布博客 2020.08.18 ·
243 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

深入剖析Java中的锁【原理、锁优化、CAS、AQS】

1、悲观锁与乐观锁广义概念,体现的是看待线程同步的不同角度。悲观锁:悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,在获取数据的时候会先加锁,确保数据不会被别的线程修改。锁实现:关键字synchronized、接口Lock(concurrent包下)的实现类使用场景:写操作较多,先加锁可以保证写操作时数据正确。乐观锁:乐观锁认为使用数据时不会有别的线程修改数据,所以不添加锁;只是在更新数据时去判断之前有没有其它线程更新了这个数据。锁实现:CAS算法,例如AtomicInteg
原创
发布博客 2020.08.17 ·
215 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Java面试内容精讲 - 并发编程volatile

第一章 volatile关键字概述1.1 多线程下变量的不可见性1.1.1 概述在多线程并发执行下,多个线程修改共享的成员变量,会出现一个线程修改了共享变量的值后,另一个线程不能直接看到该线程修改后的变量的最新值。通过volatile关键字,可以让该变量值可见。package com.dhu.concurrency.volatil.concurrent;/** * 目标:多线程下变量访问的不可见性现象 * 1.定义一个成员变量 * 2.开启两个线程,一个线程负责修改,
原创
发布博客 2020.08.16 ·
233 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

synchronized关键字解析

一、synchronized锁的是类的实例(对象)或者类的字节码加了synchronized不一定能够保证线程安全:看锁住的对象是否唯一。1、synchronized锁的是堆内存的对象2、new Demo() 当作this对象3、刚开始执行时就需要加锁同步,在方法上直接加上synchronized4、synchronized可以锁类的class字节码文件5.6、面试题:同步方法和非同步方法是否可以同时调用?可以7、synchronized支持重入锁
原创
发布博客 2020.08.15 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多