- 博客(60)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 面试怎么回答KMP算法相关问题
面试官问:你知道什么是KMP算法吗?说说你对KMP算法的理解。答:KMP算法是用来进行字符串匹配查找的,核心先求出Next数组。**什么是next数组?**我的理解是:next数组表示的是待查找的字符串的最大公共前后缀中的公共前缀的最后一个字符的下标,知道这个下标,就可以知道当匹配目标字符串出错时,目标字符串的指针怎么回退,而查找段落的指针不用回退,这样遍历一遍查找段落,就可以知道是否存在目标...
2019-03-20 09:56:27
3028
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【LeetCode】146. LRU缓存机制
题目:运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最少...
2019-03-12 12:11:57
588
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 使用python爬虫——爬取淘宝图片和知乎内容
目标:使用python的一个开源框架pyspider(非常好用,一个国人写的)爬取知乎上的每个问题,及这个问题下的所有评论有2种实现方案:1、使用pyspider开源框架,安装好pyspider并启动后,默认是本地的5001端口,新建一个爬虫项目,写下如下python代码实践爬去知乎的问题和评论数据,同时使用python-mysql,把爬到的数据存到自己建的一个数据库,把数据留给自己使用分析哈...
2018-09-23 00:59:44
4192
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 模仿知乎——实现一个多用户在线问答平台
online-questioning 从零开始开发在线问答平台, 这是我模仿知乎做的一个贴吧类问答交流平台项目github地址:https://github.com/guomzh/online-questioning , 欢迎各位关注和与我交流本文持续更新,未完待续…使用到的技术栈: 1、spring/springboot * 拦截器2、mybatis 3、前端模板引擎...
2018-09-11 10:02:01
5144
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 使用Trie树实现网站对用户输入的敏感词打码
使用Trie树实现网站对用户输入的敏感词打码什么是Trie树? Trie树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 Trie树的核心思想是空间换时...
2018-09-07 17:32:36
795
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)
最近在实习中接触了jenkins这个东西,所以花点时间了解了下。它可以在代码上传仓库(如github,gitee,gitlab)后,在jenkins(一个网站界面)中通过获取代码仓库中最新代码,进行自动化部署,而省去手动打包、上传服务器、部署这一系列步骤,非常方便。 下面教程分为以下几个部分:一、在你的本地电脑或者linux服务器上下载安装jenkins:jen...
2018-08-11 21:18:18
326673
44
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 linux命令、shell和linux系统使用详解———非常详细
写在前面——linux常用基本命令总览clear: 清屏,清除界面内容pwd: 显示当前目录mkdir :创建一个目录 参数:-p 用于级联创建没有的目录rmdir: 用于删除空目录,但不能删除文件 ,-p 用于级联删除空目录rm: -r参数用于删除目录,-f参数用于强制删除不询问 如rm –rf /tmp/test/123whoami : 当前用户(简略) who:当前用户(详细) w:当前...
2018-05-09 11:42:16
948
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Leetcode算法代码解答总结——长文慎入!(持续更新)
——写在前面,复习算法一段时间了,在此记录一下自己写过的算法代码,算是做个总结,供自己以后回顾。43.字符串相乘给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "12...
2018-04-25 01:49:58
4086
原创 Effective Java总结
一、创建和销毁对象1、用静态工厂代替构造器 public static Service newInstance(String name) { Provider p = providers.get(name); if (p == null) throw new IllegalArgumentException( ...
2019-12-23 20:26:27
313
原创 java将byte转为无符号字节——解决java没有unsigned byte问题
在使用代码和硬件通讯时,通常碰到c++中使用无符号字节unsigned byte 进行数据发送与接受,但JAVA没有无符号字节,怎么把131(java的字节只能存 -128 ~127 )发送给机器呢,怎么接收机器发过来的131呢?其实,只要稍作处理应该可以了。只要在发送时,把131用int存,强转为byte, (byte)131, 发送过去即可,c++无符号字节接收到表现回131。在接收时, 接...
2019-11-16 20:53:57
8559
2
原创 我的OJ草稿纸
#include <string>#include <iostream>#include <iomanip>#include <math.h>#include <float.h>#include <map>#include <stack>#include <set>#include &l...
2019-09-20 22:28:00
316
1
原创 使用C/C++做算法题——基础语法必备
本文目录如下一、map的使用二、vector动态数组的使用三、stl中栈stack、队列queue、集合set的使用四、字符串操作五、新建一个c++类及初始化六、c语言输入与输出七、未完待续......一直都使用java在做leetcode等算法题,今年7月毕业进入华为工作后,公司也有自己的oj平台,于是开始了每周公司oj平台做3道算法题的习惯。为了熟悉新东西,决定使用c/c++来做这些基础算...
2019-09-20 14:45:21
1388
2
原创 【LeetCode】104. 二叉树的最大深度
题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。思路:1、解法一:由求深度想到二叉树的层次遍历,用bfs广度优先搜索即可,用队列...
2019-03-12 12:10:45
265
原创 【LeetCode】105. 从前序与中序遍历序列构造二叉树
根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7思路: 树的前序遍历顺序为:根->左->右,中序遍历...
2019-03-12 12:09:47
184
原创 构建高可靠、高性能的web应用
目标:构建高可靠、高性能的web应用,这是接下来学习的一些重点。一、可靠性:可扩展性、服务降级、负载均衡垂直扩展(scala up):提高机器硬件配置,如加内存等水平扩展:加机器,服务须无状态,可分布式数据库扩展sharding:–垂直拆分(一个库数据量太大,表间将关联密切的表划分在一起):如User Order库拆成 ->User 、 Order–水平拆分(一个表的数据量太大...
2018-12-24 13:30:24
753
原创 Java的反射机制和使用
文章目录一、定义二、功能三、反射的实现方式四、实现反射的类五、Java动态加载类使用场景六、反射机制的优缺点?七、下面不是概念,干货来啦!反射相信大家平时学习时用的不多但见的很多,特别是各种开源框架中,到此都是反射。编译时加载类是静态加载、运行时加载类是动态加载,动态加载可通过反射实现。一、定义反射机制是在运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够...
2018-12-21 09:57:25
1499
2
原创 Guava源码阅读分析 - Lists
本文主要内容: 一、guava中Lists使用场景二、源码分析(guava中好喜欢用静态内部类啊啊)①Reverse方法,真的要把一个list reverse一下吗?②partition方法③transform,将集合里每个对象转换完然后再填入一个新的list吗?拓展:有时间再研究下各种迭代器的源码原理一、guava中Lists使用场景reverse()方法的使用场景如下,返回[3, 2, 1...
2018-12-11 17:26:04
2565
原创 Error:java: 无效的标记: -version 解决方法
在idea中编译java程序时遇到这样一个问题:Error:java: 无效的标记: -version原因: eclipse项目导进idea后出现的编译错误。解决方法:在idea的settings中的Build中的Compiler中的Java Comlier中把使用的编译由javac改成Eclipse即可...
2018-11-30 14:02:12
7302
3
原创 使用netty实现一个多人聊天室--failed: Error during WebSocket handshake: Unexpected response code: 200
初次接触netty , 本文主要内容如下:遇到的小bug聊天室后端代码:聊天室前端代码:遇到的小bug在使用netty进行websocket编程(实现一个简单的聊天室)时,我遇到了这样一个奇怪问题failed: Error during WebSocket handshake: Unexpected response code: 200。google了一下发现还真有人也有这个错误。最后发现这...
2018-10-04 14:53:18
9666
2
原创 jdk动态代理与cglib代码实现--SpringAop底层原理
jdk动态代理与cglib代码实现--SpringAop底层原理cglib实现动态代理:jdk实现动态代理:SpringAop中的两种代理方式动态代理分为两类:基于接口的代理和基于继承的代理两类实现的代表是:JDK代理 与 CGlib代理cglib实现动态代理:1、定义目标对象:public class RealSubject { //目标对象RealSubject,cgli...
2018-09-18 11:28:26
453
原创 78. 子集
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]两种做法,一种递归,一种递推做法一(递归):class Solution { ...
2018-08-21 09:01:49
323
原创 01背包问题总结
在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]样例如果有4个物品[2, 3, 5, 7]如果背包的大小为11,可以选择[2, 3, 5]装入背包,最多可以装满10的空间。如果背包的大小为12,可以选择[2, 3, 7]装入背包,最多可以装满12的空间。函数需要返回最多能装满的空间大小。思路:动态规划做法,找出状态转移方程,在 本...
2018-08-18 16:10:14
533
原创 Java bean转化为jsonObject异常
首先解释下java bean转化为JSONObject的过程(我之前并不知道,才会有这次bug的产生): 通过阅读源码,你会发现,json包会扫描java实体类中的所有get方法,并且把所有的getXXX()方法都执行一遍!然后在内部执行new JSONObject操作创建一个新的jsonObject对象,通过各种resolver解析器把从get中获取到的值都设置到这个jso...
2018-08-17 00:08:06
2193
原创 128. 最长连续序列
给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。解法一:先来一个无脑ac的答案,该答案先进行排序,而类库中的快速排序时间复杂度为nlog(n),而题目要求的时间复杂度为O(n),但也神奇的通过了。c...
2018-08-15 23:41:37
554
原创 一篇文章入门SpringBoot的学习教程
一、学习git相关操作,在学习的同时把demo同步到github或gitee上我是这样学习git的:git教程二、学习安装maven,我构建的pom.xml文件是这样的:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi...
2018-07-23 08:37:55
227
转载 SpringCloud教程
本文转载自:http://blog.csdn.net/forezp/article/details/81040925 本文出自方志朋的博客 错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝。赶快上船吧,老船长带你飞。终章不是最后一篇,它是一个汇总,未来...
2018-07-20 14:43:59
199
转载 把intellij的IntelliJIDEALicenseServer.exe设置为开机自启
1.下载工具一个叫做instsrv.exe,第二个叫做srvany.exe;百度网盘上也有的。2.安装服务执行命令:instsrv.exe IntelliJIDEALicenseServer d:\srvany\srvany.exe //IntelliJIDEALicenseServerIntelliJIDEALicenseServer是服务的名字,自己也定义个服务名,前后两个...
2018-07-20 09:02:09
2264
转载 Springboot学习资源
从2016年因为工作原因开始研究 Spring Boot ,先后写了很多关于 Spring Boot 的文章,发表在技术社区、我的博客和我的公号内。粗略的统计了一下总共的文章加起来大概有六十多篇了,其中一部分是在技术社区做的系列课程。 我在写文章的时候将文章中的示例提取出来,作为开源代码分享了出来让大家以更方便的方式去学习(https://github.com/ityouknow/spri...
2018-07-18 19:05:02
971
2
原创 Markdown最常用的语法
Markdown语法笔记*斜体* **粗体** ***加粗斜体*** #一级标题 ##二级标题源码 ###三级标题 这是[链接](http://guomzh.com) <http://zidonglianjie> >这是引用 >这也是引用 >>我是引用中的引用 //这是一张图片![图片之一](https://www...
2018-07-15 18:53:13
164
原创 一个大三结束学生的迷茫
总结下学习方向。持久学习:数据结构与算法本职工作:spring系列,linux,jvm,sql未来工作:操作系统,C/C++,计算机网络,分布式开发,大数据,机器学习...
2018-07-01 10:52:17
855
1
转载 JVM学习:Java内存区域分析
原文地址:https://blog.csdn.net/u012422829/article/details/46580893一、运行时数据区域运行时数据区分为两个部分,一部分由所有线程共享,一部分是各个线程私有的。线程共享的数据区包括方法区和堆,线程私有的数据区包括虚拟机栈、本地方法栈和程序计数器。如下图所示:(图片来自网上图片库)下面我们分别对这些区域进行介绍:1.程序计数器一块较小的内存空间,...
2018-05-29 22:41:28
155
转载 java并发编程实战相关知识
原文地址:https://blog.csdn.net/u012422829/article/details/49053973第二章 线程安全性1.无状态的一定是线程安全的无状态的对象: 不包含任何域,也不包含任何对其他类中域的引用。计算过程的临时状态仅存在于线程栈上的局部变量中,并只能由正在执行的线程访问。2.原子性++count不是原子的, 包含3个独立的操作,读取count的值,把值+1,把...
2018-05-13 14:45:09
262
转载 数据库相关知识(数据库优化思路)
原文地址:http://www.2cto.com/database/201504/390838.html1. 主键 超键 候选键 外键主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。超 键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超...
2018-05-08 12:11:32
403
原创 Arrays.sort()的用法
1、Arrays.sort(int[] a)对数组进行从小到大排序,默认字典序排序(ASCII)2、Arrays.sort(int[] a, int fromIndex, int toIndex)对数组的a[fromIndex,toIndex-1]排序3、public static <T> void sort(T[] a,int fromIndex,int toIndex, Compa...
2018-04-08 13:35:59
6197
转载 leetcode题目出现频率
参考:https://blog.csdn.net/alpaca12/article/details/51647261ID问题频率数据结构算法1Two Sum5array、setsort、Two Pointers8String to Integer (atoi)5stringMath153Sum5arrayTwo Pointers20Valid Parentheses5stringStack21Me...
2018-03-28 12:56:26
3244
原创 47. Permutations II
题目:Given a collection of numbers that might contain duplicates, return all possible unique permutations.For example,[1,1,2] have the following unique permutations:[ [1,1,2], [1,2,1], [2,1,1]]思路...
2018-03-20 23:16:35
145
原创 46. Permutations
打印一个数组的全排列算法题目:Given a collection of distinct numbers, return all possible permutations.For example,[1,2,3] have the following permutations:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [...
2018-03-17 13:13:20
144
原创 字符串的全排列输出
要求:输入一个字符串,去掉重复元素后,把所有字符串排列情况打印出来如输入abcc ,则打印:abc,acb,bac,bca,cab,cba代码(用深度优先搜索实现):import java.util.Scanner;public class Main { static int []visit;//标记数组 static char [] result;//打印结果数组 static int...
2018-03-16 23:55:44
757
原创 L3-010. 是否完全二叉搜索树--java实现
题目:将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历结果,数字间以1个空格分隔,行的首尾不得有多余空格。第...
2018-03-16 12:30:58
253
原创 java格式化输出
在做算法题时经常要格式化输出,在这里,我总结了一下java的格式化输出:使用方法:System.out.printf();数据类型 转化代码 举例 格式化举例 转化后输出int d 512 "%6d" " 512" ...
2018-03-13 22:18:55
1480
基于OpenGL的三维地形可视化程序(用vs2015直接打开)
2019-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人