2 CC_且听风吟

我要认证

行百里者半九十

等级
TA的排名 2w+

HDU 2087 剪花布条

kmp板题kmp的主要过程:获得next数组生成next数组的过程,其实就是可以看做模式串自己和自己进行匹配,找出所有子串的前后缀子串集合中的最长公共子串长度,然后在整体右移得到这句话好像有点绕。比如:abacda子串:{a, ab, aba, abac, abacd, abacda}生成next数组就是在下面这个事:子串a:前缀:{a} 后缀:{a} 最长公共:1子串ab:前缀:{a, ab} 后缀:{b, ba} 最长公共:0子串aba:前缀:{a, ab, aba} 后缀:{a,

2020-10-24 23:34:11

LeetCode-22 括号生成

LeetCode22dp做法:包含n个括号组的字符串结果,取决于n-1个括号组的字符串结果假设n-1个括号组的字符串形式有k种则有:n个括号组的字符串 = “(” + p个括号组结果 + “)” + q个括号组结果其中p + q = n-1将p个括号组结果从 0 -> n-1遍历一遍,就会得到所有可能的n个括号组的字符串组合n=0:返回空n=1:返回"()"class Solution {public: vector<string> generateParen

2020-10-13 00:04:19

LeetCode-10 正则表达式匹配

LeetCode10看似是一个字符串问题,实则是动态规划问题越长的字符串匹配结果依赖于较短的字符串匹配结果首先有两层for循环,外层是遍历源字符串s,内层是遍历正则串p,这样可以将字符串由短至长对正则表达式进行匹配设dp[i][j]dp[i][j]dp[i][j]表示s串到iii位置和p串到jjj位置的匹配结果,有0和1两种对于p正则串,有两个特殊符号...和∗*∗如果遇到了∗*∗∗*∗前面的字符可以为0个或者多个,判断这个x∗x*x∗组合的p[j−1]p[j-1]p[j−1]是不是等于字

2020-10-10 15:15:00

对于Spring-AOP使用不同层级多个切点表达式,但是切入同一个方法的切入顺序探讨

spring-aop多个切点表达式位于不同层级,并且切入同一个方法的切入顺序

2020-10-10 00:23:35

一文打穿Netty使用详解

努力写更多优质文章,欢迎关注CC_且听风吟~文章目录NettyNetty是什么Netty应用场景Netty线程模型Netty简易实例TaskQueue任务队列用户程序自定义的普通任务用户自定义的定时任务非当前线程调用Channel的各种方法ChannelFuture异步模型Netty核心组件Bootstrap与ServerBootstrapFuture与ChannelFutureChannelSelectorChannelHandlerPipline和ChannelPiplineChannelHandl

2020-10-07 18:18:58

一文打穿JavaNIO

文章目录Java NIOBuffer简单使用实例NIO和BIO的比较NIO核心组件关系BufferBuffer常用方法Buffer使用注意事项使用多个BufferChannelFileChannel写入文件FileChannel读取文件两个Channel共用BufferFileChannel拷贝文件SelectorSelector类的方法NIO网络通信流程NIO通信流程实例NIO群聊应用实例Java NIOJava NIO(Java non-blocking IO),指的是JDK提供的新API,从JDK

2020-10-07 18:14:09

一文打穿JavaBIO

Java BIOI/O模型如何理解I/O模型:即使用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能Java一共支持3种网络编程I/O模式:BIO、NIO、AIOBIO:同步并阻塞(传统阻塞型):服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个会话线程进行处理,如果这个连接不做任何事情就会造成不必要的线程开销 NIO:同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮训到连接有

2020-10-07 18:12:19

LeetCode-403 青蛙过河

LeetCode8dp[i][j]dp[i][j]dp[i][j] 表示从iii点可以走jjj步长dis=stones[i]−stones[j]dis = stones[i] - stones[j]dis=stones[i]−stones[j] (dis是jjj个石头到iii个石头的距离)如果dp[j][dis]dp[j][dis]dp[j][dis]为true,表示jjj点可以走disdisdis长度,就是从jjj点可以走到iii点既然可以走disdisdis长度,继续再从iii点

2020-09-29 22:46:00

Circular view path [index]: would dispatch back to the current handler URL [/index] again.

springboot很莫名其妙的一段报错,发生在复制了别的项目html模板文件之后 Circular view path [index]: would dispatch back to the current handler URL [/index] again. Check your ViewResolver setup! 解决方案:用了Thymeleaf为什么不导入它的依赖包呢~<dependency> <groupId>org.springframework.b

2020-09-27 15:52:52

Spring之事务

有关Spring事务,看这一篇就足够了本文将按照声明式事务的五个特性进行介绍:事务传播机制事务隔离机制只读事务超时回滚规则Spring事务传播机制事务的特性原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该被破坏。隔离性(Isolation):可能有许多事务

2020-09-27 12:11:53

2020-09-25 darknet-YOLOv3 Windows10安装编译过程详解(可用)

又是一个深夜,又是CUDA和darknet,2020年9月25日 01:05:27,全新的完整的严谨的从零开始win平台编译darknet并且运行的实例记录目标在windows10上编译darknet,并且使用yolov3跑通测试实例(吐槽:windows平台安装是真的恶心)环境Windows10GTX1060准备安装CUDA10.0+cuDNN7.4.1开始之前说清楚的事快速成功的秘诀:严格照抄我的过程,不要作死各步骤请严格按照顺序进行,不然不保证各种奇怪Bug的产生哦~不要用各种最

2020-09-25 01:59:55

LeetCode-8 字符串转换整数(atoi)

LeetCode8暴力做法:判断字符串是否合法用k表示当前下标找到第一个非空字符,如果是正负号,修改flag为1或者-1,如果不是数字或者符号,直接返回0k++移动到符号的下一位while循环,使用long类型的temp来存储中间值,如果超过了INT_MAX,结束while,否则k++temp*flag是最终结果,判断是否越界输出class Solution {public: int myAtoi(string str) { int k =

2020-09-19 20:38:51

LeetCode-404 左叶子之和

LeetCode404求解所有子叶之和很容易,这个题目需要求左子叶之和在递归遍历的过程中加一个标记sym来表示是否是左子叶即可class Solution {public: int sumOfLeftLeaves(TreeNode* root) { if(root == NULL) return 0; return preOrder(root, 0, false); } int preOrder(TreeNod

2020-09-19 19:43:48

LeetCode-5 最长回文子串

LeetCode5做法主要有三种:暴力搜索中心扩散法马拉车Manacher暴力搜索和中心扩散法O(n^2)Manacher是O(n),但是不容易理解https://segmentfault.com/a/1190000008484167这里使用Manacher:class Solution {public: string longestPalindrome(string s) { if(s.length()==0) return "";

2020-09-19 19:39:09

一文打穿JVM体系结构

JVM体系结构概述JVM的位置JVM体系结构类装载器 ClassLoaderClassLoader功能负责加载class文件,class文件在文件开头有特定的文件标识,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoader只负责class文件的加载,至于他是否可以运行,则Execution Engine决定.class文件中特定的文件标识:cafe babe通过特定的文件标识和其他识别内容,JVM能识别是否为class文件Cl

2020-09-18 14:05:21

MySQL优化之MySQL主从复制

MySQL主从复制主从复制原理主从复制原则每个slave只有1个master每个slave只能有唯一的服务器ID每个master可以有多个服务器延迟MySQL主从复制配置进行主从配置的要求:MySQL版本一致ping通具体操作:https://www.cnblogs.com/cjsblog/archive/2018/09/26/9706370.html...

2020-08-27 21:56:15

MySQL优化之MySQL锁机制

MySQL锁机制概述数据库锁锁分类按照数据操作粒度划分:表锁/行锁对数据操作的类型划分:读锁/写锁读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会相互影响写锁(排他锁):当前写操作没有完成前,阻断其他写锁和读锁表、行、页锁表级锁特点:偏向MyISAM引擎,开销小,加锁快;无死锁;锁定粒度大,发成锁冲突的概率高,并发度低。偏向于读取####使用表级锁表级读锁(使用MyISAM引擎的表,因为MyISAM是表级锁):lock table m

2020-08-27 21:53:22

MySQL优化之查询截取分析

查询截取分析分析过程:观察,查看生产慢SQL情况开启慢查询日志,设置阈值explain+慢SQL分析show profile查询SQL在MySQL服务器里面的执行细节和执行情况SQL数据库服务参数调优查询优化小表驱动大表原则for (int i=10;) for (int i=1000;) ... for (int i=1000;) for (int i=10;) ...上面的嵌套for循环,第一个更优,因为如果作为数据集来说,连接数据库只需要10次小表驱动

2020-08-27 21:48:17

MySQL优化之索引优化

索引优化索引优化案例单表案例使用我自己爬取的car_db二手车数据作为一个简单的练习素材,其列分布如下:+------------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+------------+--------------+------+-----+---------+-------+| time | in

2020-08-27 21:39:42

MySQL优化之MySQL性能分析

MySQL性能分析MySQL Query OptimizerMySQL自带的优化器MySQL常见瓶颈CPU:CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据的时候I/O:磁盘I/O瓶颈发生在装入数据远大于内存容量的时候硬件性能:使用top free iostat 和 vmstat来查看系统状态性能EXPLAIN语句使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理SQL语句的,从而可以分析语句或者是表结构的性能瓶颈EXPLAIN + SQ

2020-08-27 21:37:07

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。