自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 资源 (3)
  • 收藏
  • 关注

原创 白话文剖析[spring4.2.1.RELEASE] IOC核心架构

在这篇文章中,我将用第一人称的方式向你阐述spring4.2.1.RELEASE IOC部分的基本架构,你可以用如下的简单demo开启源码debug之旅demo包含三个文件 User.javapublic class User { @Override public String toString() { return "hi, I am a user!";

2015-11-29 15:57:36 2020 4

原创 菜鸟都能理解的看毛片(KMP)算法

下面我们来见识一下神奇的看毛片算法看毛片算法的思想是用两个指针i和j来指示A和B中的一个位置1) 用i来表示当前匹配到A中的哪个位置啦2) 用j来表示当前匹配到B中的哪个位置啦3) 并且要满足B[1...j]要和A[i+j-1...i]相等哦?很难理解啊,下面的图(图1)应该使你能够一拍脑袋,“哦,我太聪明了,这么简单!”

2013-01-17 20:43:33 94612 5

转载 杭电ACM题目分类

注:最近在刷字符串类别的题目,计划在3月15号之前刷完,欢迎加QQ 823797837共同学习交流,也可以加群ACM新手群161986576,老鸟飞过基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、1032、1037、1040、1048、1056、1058、1061、1070、1076、1

2013-01-05 04:15:49 1971

原创 c++实现哈夫曼编码完整代码

#include #include #include #include #include using namespace std;class Node { public: char c; //表示字符 int frequency; //表示该字符出现的次数或频率 Node *left; Node *right; Node(char _c

2012-12-25 13:53:13 7796 2

原创 netty源码分析之服务端启动全解析

backgroundnetty 是一个异步事件驱动的网络通信层框架,其官方文档的解释为 Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It great...

2018-08-13 06:49:44 379

原创 小闪对话:微信长连系统的设计(一)

什么?聊个天就把技术给学了聊天结束之后,博士露出了猥琐的笑容,心里想:这小子过段时间还会来找我的:一个公网IP怎么够呢,得上负载均衡呀;长连集群模式下又是如何实现单聊群聊;如何做到平滑重启长连服务器;如何把IM抽取出来变成公司基础服务进行复用,这么多问题,还是等下次和这小子讨论吧,不然得把他搞晕掉咯。感谢大家支持,在接下来的文章中,博主会继续通过微信...

2018-08-03 07:43:12 703

原创 2015年总结和2016年的规划

2015年就快过去了,老规矩了,必须得写个总结啥的让自己安心一下,为了彻底戒掉啥事都拖到最后一刻的习惯,决定还是倒数第二天来完成这桩事儿吧。大二的时候一个偶然的机会碰到一个算命老先生,花了十块钱算了一卦,他说到我在27,30岁的时候会有一次人生转折点,当时也就一笑而过,没有放在心上,但是,今年一年工作上发生的事情,已经足够算的上是转折点了,不得不佩服那位老爷爷,老爷爷你去哪儿,我还想找你算一卦呀!今

2015-12-30 22:01:59 870

原创 2014年总结和2015年的规划

觉得2013年的总结刚刚写完,怎么一下子就跳到2015年了,岁月匆匆,恍如流沙不等人,该对过去的一年做一些总结了。2013年的总结这篇文章中,规划过今年一年的计划,完成进度如下上半年将论文搞定,争取在六月初顺利毕业 学习一门新的语言 学会游泳 参与到某一个小型开源项目的开发 在公司好好表现自己,争取得到领导的赏识 每个季度写一篇季度总结,包含季度总结以及下一阶段的规划 看一些名

2014-12-31 20:51:09 1186

原创 致力于极致提高开发效率和代码质量之快捷键和TDD

点我,我知道你不喜欢看文档,直接上视频 毕竟才工作四个月,老鸟请轻拍==

2014-11-01 11:39:32 1137

原创 读《影响力》总结

一直没有想到,原来生活中得心的学可以这么奇妙,日常生活中比我们厉害的人或多或少地利用了心理学的知识,而《影响力》这本书全面地总结了这方面的内容,生活中一些奇怪的现象几乎总是可以从这本书中找到理论依据。该书从互惠、承诺与一致、社会认同、喜好、权威、稀缺六个方面描述生活中心理学的方方面面,下面简单地总结概括一下这本书的精华部分。互惠互惠的心理基础是《负债感和知恩图报》,它让你产生一种必须得

2014-10-14 22:27:44 1696

原创 读《九败一胜—美团创始人王兴创业十年》有感

该本书是我在京东shang

2014-10-07 21:32:07 3156

原创 读《暗时间》总结

国庆花了一两天的时间把刘未鹏的《暗时间》粗略地读了一遍,该书是思维学和方法论方面的一本通俗读物,整本书给我带来的最重要的收获就是:1.我们要无时不刻地思考,睡前思考,走路思考,饭前饭后思考,上厕所也要思考,要时刻留一两个问题在脑袋里,让你的小CPU时刻保持运转状态,充分利用好“暗时间”,这样你就会比别人多出一大块的生命。表面上看,时间对于每个人来说都是公平地平等的,但是如果你充分利用好“暗时间

2014-10-07 21:03:45 1717

原创 论程序员效率相关

先开个头,明天来续吧

2014-09-30 23:56:14 749

转载 UML类图符号 各种关系说明以及举例

UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等。依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A;类属关系和实现关系在语义上讲也是依赖关系,

2014-01-24 10:29:57 1333

原创 2013年总结和2014年的规划

看了CSDN上这么多人在写年终总结,作为一个还是在校生的我也有必要对过去的一年记录点什么了2013年收获在趋势科技(中国)实习了差不多两三个月,主要是Android测试方面的工作,这份工作不是很喜欢,但是也让我了解到测试的基本流程,促使以后自己在开发过程中保持健壮的代码在华泰证券股份有限公司实习两个月,认识到大多数金融行业并不是自主开发,而是找专门从事金融开发平台以及金融工具开发商

2013-12-24 14:51:54 1533

原创 MyEclipse For Mac 快捷键列表

一直比较欣赏myeclipse的快捷键,网上搜索了一圈,发现windows平台下面的快捷键清单多如牛毛,而mac下面的快键键清单缺凤毛麟角,于是,催生了下面这个清单快键键作用备注Command+1快速修复(自动导包等)比如与Syso配合,与main配合可快速构造方法签名Alt+/

2013-12-17 21:58:38 12645

原创 11种设计模式精简总结

1.工厂模式:简单工厂:一个工厂类,一个静态方法,根据传的类名,创建一个指向抽象类对象的引用或指针工厂方法:没有工厂类!一个抽象的类A中创建一个抽象的对象B,A中有个抽象方法,A的子类去创建具体的B的子类对象抽象工厂:一个抽象工厂AF,AF中有创建一系列创建抽象对象的接口,最后,这一系列抽象对象和这个抽象工厂被包装在一个抽象类W中,W的具体类可以指明具体的工厂A,然后A为W创建具体的一

2013-09-18 16:56:49 1741

原创 八大排序c++可运行精简版,一目了然

用最精简的c++代码让你两个小时学会八大排序,包括:插入排序,选择排序,冒泡排序,快速排序,归并排序,堆排序,希尔排序,基数排序,完美运行!

2013-09-18 15:34:53 2692 2

原创 2014迅雷校园招聘笔试题答案

目前暂时只做了选择题部分,仅供参考,祝愿大家和我今年都能找到满意的工作~选择题答案部分单选题1.B2.A p为指针,32位地址的指针大小为4个字节3.D str为数组,勿忘最后有一个'\0'4.D5.CA:用户自定义了构造函数编译器不会合成无参构造函数B:?一个类可以有多个拷贝构造函

2013-09-08 14:26:15 8524 46

原创 c++中关于explicit的一些总结

首先看下以下代码#include using namespace std;class A{ public: A(int v): value(v) { cout << "构造" << endl;} int value;};void f(A a){ cout << "f()" << endl;}int main(){ f(1); return

2013-04-17 21:19:55 1177

原创 归并排序求逆序对

逆序对的定义:在一个数组a中如果有两个元素满足i a[j],那么(i, j)就称为数组中的一个逆序对现在,我们要求的是,给定一个长度为N的数组a,求出该数组的逆序对的个数比如 int a[4] = {7, 5, 6, 4} 逆序对为(7, 6), (7, 5), (7, 4), (6, 4), (5, 4)1.常规的做法是依次枚举所有的元素对(a[i], a[j]),显然,这

2013-04-12 21:00:15 2994

原创 非递归先序中序后序遍历二叉树

先序遍历void preOrder(TNode* root){ if ( root != NULL) { Stack S; S.push(root); while (!S.empty()) { TNode* node = S.pop(); Visit(node

2013-03-28 10:47:05 1470 1

原创 菜鸟都能理解的线段树入门经典

线段树的定义首先,线段树既是线段也是树,并且是一棵二叉树,每个结点是一条线段,每条线段的左右儿子线段分别是该线段的左半和右半区间,递归定义之后就是一棵线段树,图示如下图1.线段树示意图定义线段树的数据结构struct Line{  int left, right, count;  Line *leftChild, *rightChild;

2013-03-22 14:00:17 4993 4

原创 如何判断一个单链表有环,并且求出交汇处

单链表有环的情景如下,为了方便起见,假定入口之前的链表长度为L,循环长度为K循环链表示意图我们可以用两个指针,p1每次移动一格,p2每次移动两格,初始化都为头结点HEAD随着指针慢慢推进,一定会出现以下的情况某一时刻两指针的情况第一步现在,我们可以假定再经过t次移动之后,两者会在某一处相遇,对照上图对于P1,t次移动后的位置为t

2013-03-19 22:02:55 1530 2

原创 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间

例如AbcDeFGhi ->bceiADFG这道题目是今年腾讯的面试题,我的想法是基于冒泡的思想,从头开始扫描,遇到小写字母就往前面冒初始:AbcDeFGhi冒'b': bAcDeFGhi冒'c': bcADeFGhi冒'e': bceADFGhi冒'h': bcehADFGi冒'i':  bcehiADFG得到最终结果为bceiADFG最终代码如下#i

2013-03-15 14:19:17 1771 2

原创 字典树实现map容器

通过hdoj1075来演示如何通过字典树创建map容器字典树的结构如下其中,根结点上不存储数据,每个结点有唯一的字符串(key)标示,可在对应的结点中存储相应的值(value),比如ah结点上可以存储数据"I am handsome!"那么,对应的map中一条为["ah" -> "I am handsome!"],字典树的数据结构中最多有MAX个子树,假如由26个英文字

2013-02-17 20:26:35 1185

原创 杭电oj 2544 固定起点终点最短路径解题报告

注:鄙人最近按照此分类来刷题,假期的最低限度是刷掉所有的DP类,并且每一道题目写一个解题报告,如果有志同道合的朋友,欢迎加QQ 823797837共同学习交流,也可以加群ACM新手群161986576,老鸟飞过Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上

2013-02-08 21:32:44 2491

原创 杭电2059解题报告

Problem Description据说在很久很久以前,可怜的兔子经历了人生中最大的打击——赛跑输给乌龟后,心中郁闷,发誓要报仇雪恨,于是躲进了杭州下沙某农业园卧薪尝胆潜心修炼,终于练成了绝技,能够毫不休息得以恒定的速度(VR m/s)一直跑。兔子一直想找机会好好得教训一下乌龟,以雪前耻。最近正值HDU举办50周年校庆,社会各大名流齐聚下沙,兔子也趁此机会向乌龟发起挑战。虽然乌龟深知

2013-02-07 18:44:03 1115

原创 杭电1176解题报告

原题见这里关于解题的详细步骤都已经在代码注释里面了,这里一定要注意,刚开始gameboy在位置5,因此在第5秒钟之前,他的活动范围有限,所以,在循环的时候j的范围不一定能从0到10#include using namespace std;int a[100001][11];int dp[2][11];int main() { //dp[i][j]表示第i秒钟在位置j

2013-02-02 22:35:45 987

原创 杭电1160解题报告

原题见这里题目的大概意思:有一系列老鼠,每个老鼠有体重w以及奔跑的速度s,求这样一个最大的序列,使得m[i+1].w > m[i].w && m[i+1].s 一开始,我用“DAG上的动态规划”来解决这道题目,把每一个老鼠看成是有向图中的一个顶点,有向边(v1, v2)存在的充要条件是m[v2].w > m[v1].w && m[v2].s 那题目就转换为求一个DAG中不确定起点的

2013-02-02 13:39:09 1064

原创 DP系列之二进制状态压缩--杭电1074

状态压缩的意图是用每一位二进制表示一个状态,0表示选中状态,1表示不选状态,如果有N个物体,从中选择若干个物体,那么最终选中的状态可以用一个N位的二进制位来表示比如若选择了第1个物体和第3个物体,这种状态为0...0101 //前面的0的个数为N-3若选择了第2个物体,第3个物体,第N个物体,这种状态为1...0110因此,无论选中什么状态,都可以用一个N位的二进制数来表示

2013-01-28 21:17:09 2211 1

原创 杭电OJ——1024 Max Sum Plus Plus 详细分析+优化全过程

Problem DescriptionNow I think you have got an AC in Ignatius.L's "Max Sum" problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced with a more di

2013-01-27 22:58:23 3446

原创 回溯经典之素数环问题

问题描述:假定有从1...n这n(n思路1.我们可以假定已经有一个序列满足任意两个数之和是素数2.下一步要做的就是扩充这个序列,即从剩下的数中寻找一个数,使得这个数和既定序列中最后一个数的和是素数3.如果这个数是最后一个数,那么判断它和第一个数相加的结果是否为素数,如果是,就打印序列,否则什么也不做因为要求的是环,我们可以假定从任意一个数开始,这里假设从1开始/

2013-01-21 19:10:32 1079

原创 回溯法经典—n-皇后问题

n-皇后问题是回溯法中经典中的经典,其基本问题描述是:在一个nxn的格子中放n个皇后,使得每个皇后不能相互攻击,任意两个皇后能够互相攻击的条件是他们在同一条对角线或者同一行或者同一列上问题可以转换为从第0行开始放置皇后一直放到n-1行,使得每一行在放置皇后的同时,不能与前面的皇后相互攻击即列,对角线不冲突即可(行肯定不冲突)伪代码描述search(cur) { //表示开始放置

2013-01-20 22:14:30 1291

原创 LRJ生成可重复的排列

#include using namespace std;void print_emu(int a[], int x[], int n, int cur) { if (cur == 3) { for (int i = 0; i < 3; i++) cout << x[i] << " "; cout << endl; return; } else

2013-01-20 20:14:52 845

原创 回溯法例题之子集树:数组定和问题

问题描述:给定一个数组a和一个整数sum,在数组中取若干个数使得他们的和等于sum问题分析:数组中的元素要么选择,要么不选,且无序,每一种选择都可以看做是解空间的一个元素X[i] = 0或1(0如果我们假设当前已经处理了前t个元素(这t个元素或者选,或者不选),他们的和为c,那么在处理第t+1个元素时,要满足c + a[t+1] #include using namespace

2013-01-20 15:20:49 1959

原创 回溯算法:子集树和排列树

假设现在有一列数a[0],a[1], ...a[n-1]①如果一个问题的解的长度不是固定的,并且解和元素顺序无关,即可以从中选择0个或多个,那么解空间的个数将是指数级别的,为2^n,可以用下面的子集树来表示所有的解(假设这里n=4)PIC. 子集树子集树的算法框架为void backtrack(int t) {//表示访问到第t层,t从0开始if (t

2013-01-18 22:11:41 8620 1

原创 菜鸟都能理解的0-1背包问题的空间优化

如果你不知道什么叫做0-1背包问题,下面是0-1背包问题的简单描述假设有n件物品每件物品的体积为w1, w2……wn   相对应的价值为 v1, v2.……vn。01背包是在n件物品取出若干件放在空间为total_weight的背包里,使得背包的总体积最大关于0-1背包问题没有优化版本,请看这里上面的核心代码是下面这一段 for (int i = 1; i <

2013-01-18 14:55:06 4508

原创 杭电1203回溯+DP

回溯方法是正确的,但是LTE#include using namespace std;inline void offer(int w[], float v[], int n, int& sum, int i,float &mmin, int total, float& c) { if (i == n) { if (c < mmin) mmin = c; ret

2013-01-18 10:51:09 1304

原创 让你的vim新建源文件的时候智能添加注释和代码

打开~/.vimrc文件,在最后一行下面添加如下代码即可autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()""新建.py,.cc,.java,.sh,"定义函数SetTitle,自动插入文件头func SetTitle() if expand("%:e") == 'cc' call set

2013-01-14 20:35:21 2618 1

Android开发之方向传感器的使用源码,Eclipse工程文件

Android中的方向传感器在生活中是一个很好的应用,典型的例子是指南针的使用,我们先来简单介绍一下传感器中三个参数x,y,z的含义,以一幅图来说明.....本篇博客地址 http://i.blog.sina.com.cn/blogprofile/profilevisitanaly.php

2012-02-10

易语言_V5.11_完美破解补丁

易语言_V5.11_完美破解补丁

2012-02-10

java qq源代码 含有开发文档详细描述

此压缩包里含有开发文档的详细描述,源代码每一处都有详细的解释,对于想练练手的java程序员新手绝对是莫大的帮助

2010-01-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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