摘要: 一般使用git都只需要维持一个默认的git账户就可以打天下了。 但如果自己确实需要多个git账号的需求的话,就有必要配置多个ssh key了。 首先为生成多个ssh key 在shell中的交互中输入保存的文件名比如id_rsa_github,以及私钥密语(随意) 比如你可以为github, bit 阅读全文
posted @ 2016-07-11 01:24 活在夢裡 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 代理模式(Proxy Pattern)是一种比较常见的设计模式,在很多场合都会被用到。 所谓代理指的是让其他的类代替完成一些任务(执行一些方法等),在软件开发中代理模式具有非常重要的作用,面向切面编程(AOP)便是基于代理模式运作的编程范式。 下面介绍一下其中的静态代理与动态代理,基于Java语言。 阅读全文
posted @ 2016-07-03 22:58 活在夢裡 阅读(3263) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/388/B 大意是用不超过1000个点构造一张边权为1的无向图,使得点1到点2的最短路的个数为给定值k,其中k为不超过1e9的正整数,输出邻接矩阵 构造方法也不止一种 有一种分层构造方法是这样的, 第i层的点 阅读全文
posted @ 2016-07-02 15:02 活在夢裡 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 关于ThreadPoolExecutor的源码解读,请参考我的最新博客《ThreadPoolExecutor源码解读》。 Java中的线程即是工作单元也是执行机制,从JDK 5后,工作单元与执行机制被分离。工作单元包括Runnable和Callable,执行机制由JDK 5中增加的java.util 阅读全文
posted @ 2016-07-01 22:54 活在夢裡 阅读(12662) 评论(0) 推荐(2) 编辑
摘要: volatile通常被认为是一种轻量级的synchronized,字面上它表示易变的,在并发编程中,它保证了共享变量的可见性。所谓可见性指的是,某个线程对变量进行操作后,其他线程能够读取到操作后的最新结果。 CPU通常不会直接与内存通信,内存中的数据首先会被读取到缓存中进行读写。当对声明了volat 阅读全文
posted @ 2016-06-29 16:50 活在夢裡 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 首先来看一下String中hashCode方法的实现源码 在String类中有个私有实例字段hash表示该串的哈希值,在第一次调用hashCode方法时,字符串的哈希值被计算并且赋值给hash字段,之后再调用hashCode方法便可以直接取hash字段返回。 String类中的hashCode计算方 阅读全文
posted @ 2016-06-29 11:20 活在夢裡 阅读(45961) 评论(0) 推荐(1) 编辑
摘要: 题目链接:https://leetcode.com/problems/russian-doll-envelopes/ 每个洋娃娃有两个维度,长和宽,只有两者都比另外一个洋娃娃的对应维度大,才能够装另外一个。 这个问题其实就是LIS。 朴素的做法直接排序之后O(n^2)去dp一下,那么既然问题可以规约 阅读全文
posted @ 2016-06-29 00:55 活在夢裡 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://leetcode.com/problems/top-k-frequent-elements/ 最近在专门学java 8的特性,这题我主要是用来练一下写java 8的,题目的算法可以写个基于堆的nlog(k),这个没什么好多说的了。 不保证我的java 8程序是最简洁的,我很 阅读全文
posted @ 2016-06-28 03:38 活在夢裡 阅读(193) 评论(0) 推荐(0) 编辑
摘要: LeetCode上的新题(https://leetcode.com/problems/largest-divisible-subset/),看了一下,我怎么觉得这个就是前几个月有一场CSAcademy的原题(https://csacademy.com/contest/archive/#task/di 阅读全文
posted @ 2016-06-28 02:55 活在夢裡 阅读(878) 评论(0) 推荐(0) 编辑
摘要: 求文本与单模式串匹配,通常会使用KMP算法。后来接触到了Z算法,感觉Z算法也相当精妙。在以前的博文中也有过用Z算法来解决字符串匹配的题目。 下面介绍一下Z算法。 先一句话讲清楚Z算法能求什么东西。 输入为一个字符串s,Z算法可以求出这个字符串每一个后缀与自身的最长公共前缀LCP,Z算法可以求出一个数 阅读全文
posted @ 2016-06-15 00:35 活在夢裡 阅读(2626) 评论(0) 推荐(0) 编辑
摘要: 最近一直在练用Java写题,今天无意发现一道很简单的二分题(链接),我一开始是直接开int[]数组调用Arrays.sort()去排序,没想到TLE了,原来是因为jdk中对于int[]的排序是使用快速排序的,jdk中相关调用源码如下 1 public static void sort(int[] a 阅读全文
posted @ 2016-06-10 02:39 活在夢裡 阅读(2156) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/660/C 大意是给一个01数组,至多可以将k个0变为1,问最后数组中最长能有多少个连续的1,并输出。 问题转化一下就是找一个区间,使得区间中0的个数不多于k,且区间长度尽可能地长。尺取法做一下就可以了。 阅读全文
posted @ 2016-06-10 02:27 活在夢裡 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 最近项目中有需要做一个shell脚本,可以对一个数据库执行sql操作,并将结果转为txt,筛选结果用tab隔开,保存至一个远程服务器上,以供其他人用Excel读取用txt中的内容。 MySQL中将结果保存下来,有两种方案,一种是在sql语句中增加INTO OUTFILE语句,并且可以定制化输出的格式 阅读全文
posted @ 2016-06-09 20:14 活在夢裡 阅读(1080) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/contest/679/problem/A CF有史以来第一次出现交互式的题目,大致意思为选择2到100中某一个数字作为隐藏数,你可以询问最多20次问题,每一次询问一个数字x,如果预先选定的隐藏数是x的倍数,则回复"yes",否则回复"no",你 阅读全文
posted @ 2016-06-09 19:56 活在夢裡 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/675/D 题目大意是将一个没有相同数字的数列中的数字依次插入到二叉搜索树中,问除了第一个数字以外,其他数字的父亲节点是哪个数字。 求每个数字之前最小的比它大的数字以及最大的比它小的数字。然后看那两个数字哪个 阅读全文
posted @ 2016-05-23 14:31 活在夢裡 阅读(221) 评论(0) 推荐(0) 编辑