- 博客(42)
- 资源 (1)
- 收藏
- 关注
原创 2016年小结
一月初才把论文提交上去盲审,所以也没在16年的尾巴上做个总结,如今写一写吧。回顾起来也蛮有意思。 看了一下去年的总结,列举的目标简单了点,但是也没有都能完成。一方面是今年比较忙,没有空余的时间去完成,另一方面,可悲不过比较懒吧,(-。-;)。2016定下的目标: 1.最重要的事:找个好工作,找个好工作,找个好工作,重要的事情说三遍 √ 算是找完了吧2333 2.坚持跑步,能参加一次半
2017-01-12 17:27:05 568
原创 2016年互联网面试总结
1.摩根士丹利 第一场面试就是摩根。。。面试官很nice,主要问的问题: (1)介绍了一下项目并说说自己做的那一部分(介绍完才发现,自己做的太low了,还需准备) (2)多态。c++中虚函数,在派生类中重写虚函数,在运行时怎么知道我具体是运行的哪个子类中的。 (3)java中常用的Collection有哪些 答: List,包括ArrayList和LinkedList。ArrayList
2016-11-04 23:14:09 4830 3
原创 Google APAC Test 2017 Round D
Problem A. Vote扩展卡特兰数。 n个1,m个0,n > m 要保证任意一个位置1的个数都大于0的个数。 保证第一个数为1,后面n - 1个1和m个0符合扩展卡特兰数即可 扩展卡特兰数参考题:HDU 1133 参考题解:例如这里 n - 1个1,m个0构成的卡特兰数的最终解为ans = C(n + m - 1, n - 1) - C(n + m - 1,n) 最终答案为ans
2016-10-19 22:36:34 1434 2
转载 一致性哈希(1)
一致性哈希参考资料:资料1、资料2这篇文章写的也还可以:对一致性哈希算法的深入研究,mark一下一致性Hash算法关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中”一致性Hash算法”部分,对于为什么要使用一致性Hash算法、一致性Hash算法的算法原理做了详细的解读。算法的具体原理这里再次贴上: 先构造一个长度为2322^{32}的整数环(这个环被称
2016-05-05 22:10:30 869
原创 Java笔记——Comparable和Comparator
参考了部分《Effective Java》第12条的内容和官方文档,刚好也被面试过,记一笔。Comparable 一个类一旦实现了Comparable接口,它就可以跟许多泛型算法以及依赖于该接口的集合实现进行写作。如果你编写的类需要进行排序,可以使该类实现Comparable接口。 Comparable定义如下:package java.lang;import java.util.*;p
2016-04-13 23:27:14 919
原创 Java笔记——Runnable、Callable以及Future、FutureTask
上次去网易面试被问到怎么得到线程返回的值,脑抽,没答上来,对Callable也没有很熟,不怎么用,这次看了一下源码,整理一下。Runnable和CallableRunnable 在使用多线程中,Runnable()是一个比较熟悉的接口,它提供了一个run()方法,将线程操作写在run()中,但是它没有返回值,也不能抛出异常。 Runnable接口所在包:java.langpublic int
2016-04-11 14:28:54 806
原创 《深入理解java虚拟机》笔记——简析java类文件结构
一直不太搞得明白jvm到底是如何进行类加载的,在看资料的过程中迷迷糊糊,在理解类加载之前,首先看看java的类文件结构到底是怎样的,都包含了哪些内容。 最直接的参考当然是官方文档:The Java® Virtual Machine Specification 我写了一个最简单的java程序,根据这个程序来分析一下.class文件中到底都存了些什么。java程序:class Par { pu
2016-04-03 15:31:24 4047 5
转载 Java 多线程线程池 - 线程池原理
最近在看java并发方面的一点知识,看了几个博客好蛮好的,收集一下: java并发可以看看这个infoq上的资料本篇博客转自这里:第一部分来看一下线程池的框架图,如下: 1、Executor任务提交接口与Executors工具类 Executor框架同java.util.concurrent.Executor 接口在Java 5中被引入。Executor框架是一个根据一组执行策略调用,调度,执
2016-03-30 14:16:33 7716
转载 BloomFilter——大规模数据处理利器
面试面到关于爬虫的一些问题,使用bloomfilter可实现亿级别爬虫url链接去重对比,在此记录一下资料。 文章转自这里Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。一. 实例 为了说明Bloom Filter存在的重要意义,举一个实例: 假设要你写一个网络蜘蛛(w
2016-03-26 19:57:26 879
转载 JDBC连接数据库
JDBC连接数据库1、注册JDBC驱动: 几种实现方式: (1)Class.forName(“com.mysql.jdbc.Driver”); //推荐这种方式,不会对具体的驱动类产生依赖。 (2)DriverManager.registerDriver(com.mysql.jdbc.Driver);//会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖
2016-03-22 16:13:58 1414
原创 PAT 习题
http://www.patest.cn/contests/pat-a-practise 今年报了PAT的考试,做一下题,持续更新直到考完吧,orz。。有点担心。1001题意:给出a+b,计算c=a+b,将c输出时每三个数加一个“,” 思路:数据范围比较小,根据特殊的数据范围,也可特殊求解,不解释#include<iostream>#include<cstdio>#include<cstri
2016-02-25 21:27:47 12908 2
原创 记《线下活动|程序媛们一起去Google玩耍吧》
之前在微信公众号“程序员的日常”中偶然间看到了《线下活动|程序媛们一起去Google玩耍吧》这篇文章,于是就抱着试试看的态度报名了这个线下活动,然后幸运的选上了~~于是乎欢快地奔上海去了~ 18号在Google听了一些前辈的干货,然后参观了Google办公室,感觉还是收获很多,暂且记一笔。 主要的流程如下:介绍了Google多样性Google的工作机会工程师们的经验分享实习生,正
2016-01-19 10:19:25 915
转载 Java笔记——IO流分类
转自该博客参考该博客:流是什么? 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。 流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序至设备,我们成为输出流,反之我们称为输入流。 可以将流想象成一个“水流管道”,水流就在这管道中形成了,自然就出现了方向的概念。
2016-01-05 22:46:38 890
原创 2015年小结
技术书 《c++primer》 《挑战程序设计竞赛》看了一部分 《剑指offer》准备面试的时候大概看了一遍 这一年看了挺多闲书,大概是无人陪伴时就靠看点小说度过吧,想了一下,把自己的大概感受记一下好了,省的那天什么都记不起来。 《明朝那些事儿》《追风筝的人》 这本书我本科的时候在小五的桌上翻过几页,当时对它并不感冒,也早就忘了讲的什么内容。再次看这本书大概是因为蔡大妈在
2015-12-29 23:46:49 1191 1
原创 《How_Tomcat_Worsk》第二章笔记 一个简单的servlet容器
看了how_tomcat_works, 第二章,实现一个简单的Servlet容器,大概实现了一遍,了解了一下一个简单的Servlet容器是如何工作的。基础知识:Socket通信,之前有实现过这是一个最最基础的Servlet容器,没有实现复杂的功能,主要模拟当我在浏览器中输入有效网址后进行的一系列操作,这个操作很简单:可以总结为如下步骤: 1.输入网址:例如http://localhost:8080
2015-12-28 15:34:59 872
原创 Java 笔记——序列化
基础知识1.序列化引用该博客一部分内容把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Ses
2015-12-22 19:59:47 556
原创 Java笔记——java.util.Map.Entry
Map.Entry 是Map声明的内部接口public interface Map<K,V> {省略n行。。。interface Entry<K,V> { /** * Returns the key corresponding to this entry. * * @return the key corresponding t
2015-12-21 16:29:14 732
原创 简单的Socket及ServerSocket例子
刚学习socket,参考了一些资料,实现一个简单的java tcp socketSocket 类 socket可以使一个应用从网络中读取和写入数据,不同计算机上的两个应用可以通过连接发送和接受字节流,当发送消息时,你需要知道对方的ip和端口,在java中,socket指的是java.net.Socket类。 在java.net.Socket中,可以看到socket有多种构造函数
2015-12-18 09:06:48 21190 5
原创 tomcat8源码导入
在做web工程时一直不是很明白servlet,tomcat作为一个servlet容器,想了解一下其具体启动的过程,然后就打算看一下tomcat的部分源码。所以第一步就是导入tomcat源码便于研究啦。 因为我本机装的是jdk1.7.0_71,所以需要用到tomcat8的源码,不然在jdbc方面会无法编译,这个具体原因可以google,有挺多说明的。我下载的是此源码,放在本地E:\学习\tomc
2015-12-14 22:21:14 2684
原创 活用各种数据结构——RMQ/树状数组/分桶法和平方分割
对《挑战程序设计竞赛》的一个记录第三章 出类拔萃——中级篇上一篇:3.3活用各种数据结构——线段树篇3.3活用各种数据结构——RMQ/树状数组/分桶法和平方分割RMQ(区间最值查询)有一个长度为n的乱序序列,要求求出区间[L,R]内的最大值或最小值(或者有多次询问发生) (1)普通解法:每次询问遍历一遍数组(效率低,n很小时,可以考虑一下) (2)ST算法:具体看之前写过的这篇,ST算法可以进行
2015-10-10 21:29:27 1206
原创 程序设计竞赛常用技巧精选
对《挑战程序设计竞赛》的一个记录第三章 出类拔萃——中级篇3.2 常用技巧精选(1)尺取法poj 3061 Subsequence 给定长度为n的数列整数a0,a1,…an-1以及证书S。求出综合不小于S的连续子序列的长度的最小值。如果解不存在在,则输出0. 已知: 10<<n<<10^5 0<<ai≤\leq10^4 S<< 10^8sample input n = 10 S = 1
2015-10-10 13:39:09 3088
原创 活用各种数据结构——线段树篇
对《挑战程序设计竞赛》的一个记录第三章 出类拔萃——中级篇3.3活用各种数据结构——线段树篇下一篇:3.3活用各种数据结构——RMQ/树状数组/分桶法和平方分割线段树主要还是看胡浩的文章 (完全版线段树)- 单点更新以下代码块的头文件”head.h” 的代码如下,不再重复黏贴#include "cstdlib"#include "cctype"#include "cstring"#inclu
2015-09-29 20:17:58 1691
原创 二分搜索
对《挑战程序设计竞赛》的一个记录第三章 出类拔萃——中级篇3.1 二分搜索(1) 从有序数组中查找某个值这个是最常见的二分搜索,在这就不多说了(2)假定一个解并判断是否可行之前不知道原来二分有那么多用处,往下看poj 1064有N条绳子,他们的长度分别为Li,如果从他们中切割出K条相同的绳子的话,这K条绳子每段最长能有多长?答案保留到小数点后2位。已知:1
2015-08-16 20:40:57 640
原创 Bean scopes
3.5小节 http://docs.spring.io/spring/docs/3.0.x/reference/beans.html#beans-dependenciesbean scopes笔记:bean的作用域:Bean scopesScopeDescriptionsingleto n(Defa
2015-07-30 22:08:14 695
原创 spring——依赖注入
本文是我在看spring资料(http://docs.spring.io/spring/docs/3.0.x/reference/beans.html)时的一个笔记,大概记录一下文档中的内容,也借鉴了一些网上的资料,可能有些错误之处,就当做个笔记好了。这章是3.4 依赖章节的内容依赖:典型的企业应用程序不可能由单个对象(在spring中,也可称之bean)组成,再简单的应用也是由几个对象相
2015-07-24 11:09:28 3005
转载 manacher算法
转自:http://blog.csdn.net/xingyeyongheng/article/details/9310555 hdu3068之manacher算法+详解最长回文Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total
2015-07-20 21:37:48 471
转载 集合类之番外篇:深入解析HashMap、HashTable
转自:http://blog.csdn.net/zhangerqing/article/details/8193118集合类之番外篇:深入解析HashMap、HashTable 作者:egg 新浪微博:
2015-07-20 15:53:48 663
转载 欧拉四面体公式
转自http://blog.csdn.net/archibaldyangfan/article/details/80353321,建立x,y,z直角坐标系。设A、B、C少拿点的坐标分别为(a1,b,1,c1),(a2,b2,c2),(a3,b3,c3),四面体O-ABC的六条棱长分别为l,m,n,p,q,r;2,四面体的体积为,由于现在不知道向量怎么打出来,我就插张
2013-10-19 15:04:45 3274
转载 n皇后问题位运算
使用位运算来求解N皇后的高效算法核心代码如下:[cpp] view plaincopyvoid test(int row,int ld,int rd){int pos, p; if ( row != upperlim ) {pos = upperlim & (~(row | ld | rd
2013-08-17 18:17:05 1064
原创 分拆数 && hdu 4651 && hdu 4658
分拆数在将分拆数之前先介绍一点五边形数http://en.wikipedia.org/wiki/Pentagonal_number 1. 五边形数是能排成五边形的多边形数。 第n个五边形数公式:p(n)=(3*n^2-n)/3前几个五边形数:1, 5, 12, 22, 35, 51, 70, 92, 117, 145, 176, 210, 247, 28
2013-08-07 19:51:45 5170 3
原创 数的直径 hdu 4607Park Visit
这部分理论是在摘抄别人的~哈哈树的直径(Diameter)是指树上的最长简单路。直径的求法:两遍BFS (or DFS)任选一点u为起点,对树进行BFS遍历,找出离u最远的点v,以v为起点,再进行BFS遍历,找出离v最远的点w。则v到w的路径长度即为树的直径*简单证明于是原问题可以在O(E)时间内求出关键在于证明第一次遍历的正确性,也就是对于任意点u,距离它最远的点v一定是最长
2013-07-24 16:15:21 713
转载 龙贝格积分
龙贝格积分对于编程实现来说,一开始不太好懂.对于不易直接用积分公式计算的原函数,通常用复合梯形求积公式或复合抛物线求积公式等方法,但这些方法精度不高,收敛的速度缓慢。为了提高收敛速度,减少计算量,人们寻求其他方法.Romberg方法也称为逐次分半加速法。它是在梯形公式、辛卜生公式和柯特斯公式之间的关系的基础上,构造出一种加速计算积分的方法。作为一种外推算法, 它在不增加计算量的前提
2013-07-21 17:07:29 2303
转载 ST算法求RMQ问题
转自:http://www.cppblog.com/baby-fly/archive/2009/08/06/92385.html RMQ(Range Minimum/Maximum Query)问题是求区间最值问题。可以写一个线段树,但是预处理和查询的复杂度都是O(logn)。这里有更牛的算法,就是ST算法,它可以做到O(nlogn)的预处理,O(1)!!!地回答每个询问。 来看
2012-10-02 20:56:08 754
原创 POJ 2238 && HDU 4294
求一个数n的正整数倍m,在k进制下(poj 2238 只涉及10进制)表示时所需的不同数字数量最小最后的答案不会有超过2个不同数字组成,理由如下:a,aa,aaa,aaaa,...中必定有两个模n同余(抽屉原理),两数相减就是n的倍数.接着判断只含一种数字能否满足答案,如果不行,再选2个数字进行广搜,找出最小的输出就可以了. //poj 2283#include#inc
2012-09-17 20:06:34 1271
转载 SG函数资料(入门必备)
以上内容转自某大牛博客 http://qing.weibo.com/2126316852/7ebd053433000viz.html入门一:首先来玩个游戏,引用杭电课件上的:(1) 玩家:2人;(2) 道具:23张扑克牌;(3) 规则:游戏双方轮流取牌; 每人每次仅限于取1张、2张或3张牌; 扑克牌取光,则游戏结束;
2012-08-24 14:04:36 1064
转载 三分法——求解凸性函数的极值问题
转自:http://www.cnblogs.com/markliu/archive/2012/08/09/2630652.html 如图,类似二分的定义Left和Right,mid = (Left + Right) / 2,midmid = (mid + Right) / 2; 如果mid靠近极值点,则Right = midmid;否则(即midmid靠近极值点),则Left =
2012-08-11 20:02:55 671
转载 线分平面问题
转自http://www.cppblog.com/wing/archive/2010/08/09/122841.html?opt=admin(1) n条直线最多分平面问题 题目大致如:n条直线,最多可以把平面分为多少个区域。 析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多
2012-08-08 12:44:42 723
原创 高斯消元
高斯消元法(理论+习题)高斯消元主要用来解多元一次线性方程组,主要用到的线性代数的知识详见矩阵行列式那一篇 (http://blog.csdn.net/zhoufenqin/article/details/7779707)求解线性方程的结果会出现三种情况:无解,多解和唯一解。看下图 当某一行出现(0,0,……0,a) 时,方程无解。因为x1*0+x2*
2012-08-01 19:59:26 1530 2
转载 大牛给的ACM进阶建议
一位高手的建议:一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.训练过ACM等程序设计竞赛的人在算法上有较大的优势,这就说明当你编程能力提高之后,主要时间是花在思考算法上,不是花在写程序与debug上。下面给个计划你练练:第一阶段:练经典常用算法,下面的每个算法给
2012-07-27 15:32:30 1086 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人