自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 公钥,私钥和数字签名的理解

一、公钥加密  假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。 我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用 数字2,就是我的私钥,来解密...

2018-08-06 14:27:52

阅读数 200

评论数 0

原创 idea配置 Tomcat Deployment添加时没有Artifact...选择的解决方案

情况:Tomat Deployment 没有Artifact选择,这个时候不能Run,如下图。         解决方法: 1、先在maven project里点击package生成target文件夹,而.war文件在target文件夹中。 2、在File的Project Str...

2018-07-25 19:26:50

阅读数 13445

评论数 5

转载 JDK1.8 新增的日期时间API

JDK1.8 新增的日期时间API LocalDate、 LocalTime、LocalDateTime类的实例是不可变的对象,分别表示使用 ISO-8601日历系统的日期、时间、日期和时间。它们提供了简单的日期或时间,并不包含当前的时间信息。也不包含与时区相关的信息。 注: ISO-8601日...

2018-07-22 14:42:34

阅读数 210

评论数 0

原创 leetcode123

31

2018-07-15 23:34:21

阅读数 423

评论数 0

原创 LeetCode728 — Self Dividing Numbers

题目: 求这个数能被每个位数整数 思路:会求一个数的各个位数,然后相除就可以了 public class Solution { public List<Integer> selfDividingNumbers1(int left, int ri...

2018-07-15 23:34:05

阅读数 129

评论数 0

原创 leetcode342

设计模式

2018-07-15 23:33:51

阅读数 122

评论数 0

原创 LeetCode718 — Maximum Length of Repeated Subarray

题目:求两个数组的最大公共子串 思路:典型的dp问题,状态转移是当两个相等就加1,压缩版和不压缩版写法都差不多~ public class Solution718 { public static int findLength(int[] A, int[] B) { ...

2018-07-14 22:50:21

阅读数 85

评论数 0

原创 LeetCode695 — Max Area of Island

题目:给一个二维数组,1代表内陆,求相互连接的内陆最大的面积 思路:easy~ dfs或bfs都能做出来,争取一次AC public class Solution { private int[][] d = {{-1,0},{0,1},{1,0},{0,-1}}; p...

2018-07-14 22:50:05

阅读数 124

评论数 0

原创 LeetCode136 — Single Number

题目:只有一个数是单个出现的,求这个数 思路:位运算,异或两个相同的异或结果是0 public class Solution136 { public int singleNumber(int[] nums){ int result = 0; f...

2018-07-13 19:02:56

阅读数 68

评论数 0

原创 LeetCode448 — Find All Numbers Disappeared in an Array

题目:在一个数组找出未出现的数字 思路:经过前几题的洗礼,一看到n个数中有1-n个数就应该能知道用索引对应数值的方法区解题了           遍历一遍,如果第一次能到的话,则将其负,这里不管重复,题目只要求输出没有的值,那么遍历一遍之后还有正数的话,说明这个点的索引到不了,没有这个值能...

2018-07-13 19:02:26

阅读数 65

评论数 0

转载 Java 利用枚举实现单例模式

Java枚举 基本用法 枚举的用法比较多,本文主要旨在介绍利用枚举实现单例模式的原理,所以这里也主要介绍一些相关的基础内容。 首先,枚举类似类,一个枚举可以拥有成员变量,成员方法,构造方法。先来看枚举最基本的用法: enum Type{ A,B,C,D; }123 创建enum时...

2018-07-13 14:55:16

阅读数 102

评论数 0

原创 使用静态内部类实现延迟加载单例模式

 所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是Java Web中的application,也就是提供了一个全局变量。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类就称为单例类。单例的创建一般分为懒汉式,恶...

2018-07-13 10:43:31

阅读数 210

评论数 0

原创 LeetCode442 — Find All Duplicates in an Array

题目:和287类似,只不过这次出现重复的数字不只是一个,是多个。 思路:如果可以开辟空间的话很简单,不能开辟空间的话,稍微思考一下还是有思路的。            和287不同的是,这道题没有规定数组不能够修改,那么就可以访问这个数字为标记一下是否访问过。 public class...

2018-07-11 22:09:29

阅读数 150

评论数 0

原创 LeetCode142 — Linked List Cycle II

题目: 链表判断是否有环,并找到入口 public class Solution142 { public ListNode detectCycle(ListNode head) { ListNode slow = head; ListNode f...

2018-07-11 22:09:09

阅读数 92

评论数 0

原创 LeetCode287 — Find the Duplicate Number

题目: 找出一个重复的值,要去不能开辟空间,并且不能暴力解 思路:快慢指针,两者相遇是在一个环中,而再依次递增就在切面点相遇了。证明这里省略(证明想了一上午,终于写出来了)~ public class Solution287 { public int findDuplicate...

2018-07-11 22:08:43

阅读数 97

评论数 0

原创 LeetCode556 — Reshape the Matrix

题目: 将一个m*n的矩阵替换成r*c的矩阵,当不满足的话,返回原矩阵。 思路:easy~   用队列将所有的数字装起来,再依次取出来放入新数组。 不用额外空间的话,就是所有的数字除以,求余列数得到的就是几行几列~ class Solution { public int[][] ...

2018-07-10 23:39:49

阅读数 101

评论数 0

原创 LeetCode080 — Remove Duplicates from Sorted ArrayII

题目:和上题26一样,只是每个数出现次数不超过2次。 思路:同理,有一个索引index,当超过了2,就不赋值了,跳过,否则就赋值,并且将count重置。 public class Solution080 { public int removeDuplicates(int[] nu...

2018-07-10 23:39:23

阅读数 554

评论数 0

原创 LeetCode026 — Remove Duplicates from Sorted Array

问题:给一个有序数组,移除重复的元素,要求原地 思路:给定一个索引, 当index等于前一个,不动,否则就赋值往前移~ public int removeDuplicates(int[] nums) { if(nums.length < 2) return...

2018-07-10 23:38:48

阅读数 92

评论数 0

转载 Python的numpy库中将矩阵转换为列表等函数

这篇文章主要介绍Python的numpy库中的一些函数,做备份,以便查找。(1)将矩阵转换为列表的函数:numpy.matrix.tolist()返回list列表Examples>>>>>> x = np.matr...

2018-07-10 19:28:47

阅读数 1606

评论数 0

转载 python中pandas库中DataFrame对行和列的操作使用方法

用pandas中的DataFrame时选取行或列: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.arange(3.)) data = DataFrame...

2018-07-10 19:27:18

阅读数 118

评论数 0

转载 pandas的read_csv 的参数与 DataFrame

<ul> 对 DataFrame 对象迭代得到的是其各个属性列的列名,自然为 list 类型; 1. 从文件读取数据返回 data frame pandas.read_csv参数详解 read_csv,read_excel df ...

2018-07-10 19:25:31

阅读数 960

评论数 0

原创 Pandas —— 处理缺失数据dropna( )和fillna( )

dropna( ) 对于Serial对象 丢弃带有NAN的所有项 In [152]: data=pd.Series([1,np.nan,5,np.nan]) In [153]: data Out[153]: 0 1.0 1 NaN 2 5.0 3 NaN dtype...

2018-07-09 20:28:34

阅读数 811

评论数 0

原创 LeetCode027 — Remove Element

题目大意: 给一个数组,指定一个值让其移到后面去,其他的按顺序移到前面,并返回移除指定值剩余数的个数~ 比较easy,遍历一遍,等于指定的不走,不等于就赋值往后走~ public class Solution027 { public int removeElement(int[...

2018-07-08 23:27:46

阅读数 63

评论数 0

原创 LeetCode283 — Move Zeroes

思路:原地排,将0排到数组的后面 easy,直接遍历一遍,一个index遇到0就不动,遇到非0就赋值,并且index++ public class Solution283 { public void moveZeroes(int[] nums) { int ind...

2018-07-08 23:25:56

阅读数 500

评论数 0

原创 LeetCode034 — Search for a Range

  思路:首先数组排好序,简单的思路就是从两侧指针依次向内移动,直到找到相同的为止。 上述的复杂度为O(n),没达到题目要求O(lgn) 就只能用二分查找了, 这样才满足复杂度。 class Solution { public int[] searchRange(int[] ...

2018-07-08 23:25:15

阅读数 498

评论数 0

转载 Java Hotspot G1 GC的一些关键技术

前言G1 GC,全称Garbage-First Garbage Collector,通过-XX:+UseG1GC参数来启用,作为体验版随着JDK 6u14版本面世,在JDK 7u4版本发行时被正式推出,相信熟悉JVM的同学们都不会对它感到陌生。在JDK 9中,G1...

2018-07-08 14:39:30

阅读数 588

评论数 0

原创 解决pycharm问题:module 'pip' has no attribute 'main'

在导入numpy的包时,一直显示错误~原因是pip 10版本中没有main(),如果不降级的话,则就会显示这个错误~第一种方法:在pycharm的helpers/packing_tools.py文件中头部添加import pip._internal as pip_new然后分别修改文件中的inst...

2018-07-05 17:14:48

阅读数 278

评论数 0

原创 硬链接与软链接的区别

常用命令: 硬链接: ln sourfile hard 软链接: ln -s sourfile soft 联系与区别 联系: Linux文件分两部分,用户数据和元数据。 用户数据记录文件真实内容的地方。 元数据存放的是文件的附加属性,如大小,创建时间。 在 Linu...

2018-06-22 00:00:01

阅读数 175

评论数 0

原创 Redis的多端口配置文件启动

一、Redis安装 相关命令(/opt/soft目录下): wget:http://download.redis.io/releases/redis-3.0.7.tar.gz tar -xvf redis-3.0.7 ln -s redis-3.0.7 redis (个人习惯建立一个软链接) m...

2018-06-21 21:12:10

阅读数 549

评论数 0

原创 异常: Canonical names should be kebab-case(“-” separated), lowercase......... blablabla

放假完第一天,启动项目发现半天起不来,之前写的dao层和service层都是通过单元测试,并没有完全启动。看提示:在微信微信扫描阶段,自己首先配置了一下,提示说这个U的问题,一开始把项目名该成小写,发现还是不行。仔细一看,大意是配置文件属性中的U是无效的,应该符合  kebab的形式,即用分隔符开...

2018-06-19 09:54:29

阅读数 6807

评论数 1

原创 算法与数据结构(30)—— Kruskal实现最小生成树

这个算法实现起来相对比较简单,有个原则,最小生成树是权值最小的边构成的。那么每次都找最小的一条边就可以了,只要不构成环就行了。那么对边进行排序,然后判断把边加入最小树中是否构成环,即并查集的思想。没有Prim的高效,但是思想比较简单,也容易实现。 public KruskalMST(Weighte...

2018-06-17 00:04:36

阅读数 181

评论数 0

原创 算法与数据结构(29)—— Prim实现最小生成树

实现的基础是索引堆,不过有数据结构基础的实现上还是比较能理解的~新建了一个edge数组,初始大小为节点个数,类型为边,专门用来存边了。作用是每次访问点的临界点所构成的边存在里面。marked标记数组,仍是看是否在同一个阵营,来判断是否是横切边索引堆,初始大小仍是节点个数,依据权值来判断。核心代码:...

2018-06-16 23:43:27

阅读数 78

评论数 0

原创 算法与数据结构(28)—— Lazy Prim

这个比较简单,利用堆的思想,寻找该节点相邻节点最短的边,但是有个判断时一条边的两个点不能同时在一个阵营,即这条边就不是横切边了。核心代码: private void visit(int v){ marked[v] = true; // 将和节点v相连接的所有未访问...

2018-06-16 23:35:17

阅读数 69

评论数 0

转载 java Queue中 remove/poll, add/offer, element/peek区别

这里简单对其重复的方法做点简单的区分。offer,add区别:一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false...

2018-06-16 19:22:34

阅读数 77

评论数 0

原创 算法与数据结构(27)—— bfs的最短路径

从一个点出发, 与这个点相连的点都入队,类似于树的层次遍历就好了~核心代码: Queue<Integer> q = new LinkedList<Integer>(); q.add(s); visited[s...

2018-06-16 18:29:05

阅读数 148

评论数 0

原创 算法与数据结构(26)—— dfs的基本应用

        深度优先遍历:其实就是往一个往死里走,直到这个点不再指向其他或已经遍历过了,就退出来,接着往下一个点,直到所有的就访问过了。        应用:求一个图的连通分量,求两个点之前的路径dfs核心代码: public void dfs(int v) { visited...

2018-06-16 16:56:39

阅读数 264

评论数 0

原创 算法与数据结构(25)—— 邻接矩阵表示稠密图

邻接表是一个list数组,数组中每个元素都是list,可扩展。而临界矩阵是一个二维矩阵public class DenseGraph { private int n; // 节点数 private int m; // 边数 private boolean direct...

2018-06-16 16:41:04

阅读数 451

评论数 0

原创 算法与数据结构(24)—— 邻接表表示稀疏图

应用:交通运输,社交网络,互联网,工作安排,脑区活动图的分类:无向图和有向图(无向图是一种特殊的有向图)无权图和有权图简单图不包括自环边和平行边。自环边:自己指向自己平行边:两个点有多条边图的表示: 邻接矩阵:适用稠缪图(Dense Graph,每个点几乎与每个点相连,即完全图)邻接表:适用稀疏图...

2018-06-16 16:33:52

阅读数 788

评论数 0

原创 在图的遍历模式中应用设计模式

今天在写图的算法时,想到如果要实现了求一个节点相邻的节点,该怎么写:稀疏图是邻接表实现的:稠密图是邻接矩阵实现的:问题:得到g这个变量进行操作,保持g变量的私有特性,而又让外部能遍历到这个数据?用模板方法来统一接口,这样外部调用统一的接口就可以访问这个点所有相邻点的集合了。邻接矩阵:// 返回图中...

2018-06-15 17:32:58

阅读数 77

评论数 0

原创 算法与数据结构(23)—— 并查集 路径压缩

在查找根节点,我们需要一个一个查找parent以得到这个集合的根节点。那么我们在查找的时候,如果父节点不是根节点的话,可以指向父节点的父节点,这样就节省了不少树的高度(非递归版)。当然,因为节点是有指向父节点的,所以可以让每一个都指向根节点,根节点可以有无数个孩子(递归版)。理论上,递归版树的高度...

2018-06-15 14:02:41

阅读数 151

评论数 0

提示
确定要删除当前文章?
取消 删除