自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

paine1690的博客

已移步 http://paine1690.github.io/

  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 浅析HTTP协议

一、HTTP协议HTTP即 HyperText Transfer Protocol,web应用的基础。以下简单分享一下我的理解。 HTTP协议的几个特点1 客户、服务器模式2基于TCP传输3无连接:每次连接只处理一个请求,响应后断开。(keepalive)4无状态:服务器不会保存客户的任何信息。(cookie与session)二、HTTP的报文格式HTTP报文分为请求报文和响应报文,二者

2016-10-26 17:06:24 219

原创 [Java源码分析]LinkedhashMap源码分析

LinkedHashMap是前面分析过的HashMap的子类,主要的作用就是在HashMap的基础上可以保证元素的插入顺序或访问顺序,内存访问算法中很经典的LRU算法就可以基于LinkedHashMap实现,在面试中也很常见。一、基本参数与构造函数 //继承HashMap.Node,加入了before和after两个属性,用于表示双向链表中的前后结点 static class Entr

2016-09-26 11:24:10 240

转载 [操作系统]内存调度,磁盘调度算法

一、内存调度算法页面置换:在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断(page fault)。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。1、OPT:最佳替换算法(optional replacement):替换下次访问距当前时间最长的页。opt算法需要知道操作系统将来的事件,显然不可能实现,只作为一种衡量其他算法的标准。2

2016-09-25 19:26:39 2094

原创 [数据库]数据库索引

由于没有学过数据库这门课,所以使用的时候很多概念都不知道,前段时间学长让我学习一下索引相关的知识,因为面试的时候会经常问道,而且当时项目也确实用到了这个问题,在此简单记录一下,以后再慢慢学习慢慢整理。我理解的数据库索引就是用空间换取时间,如果没有索引,查找数据库中某个字段的时候就会进行顺序查找直到找到符合条件的数据,如果数据量非常庞大的话,这个开销肯定是非常恐怖的,所以在某个经常进行查找排序等操作的

2016-09-10 20:40:15 383

原创 Java小数点保留问题

前几天在先笔试的时候遇到一个保留两位小数点的问题,算法很简单,但是保留小数却不知道怎么写,所以在此记录一下。Java中小数保留有很多种写法,在网上找到了几种比较常用的方法。1、String.format()这种方法应该是最好记的,把浮点数转化为字符串。 static double d=3.1415926; /* * 方法一: * String.format

2016-09-10 10:13:05 550

原创 Java垃圾回收总结

Java的垃圾回收(Garbage Collection, GC)机制一直面试最常见的问题,暑假在家看了深入理解Java虚拟机一书,对着方面有了一定的了解,最近又在博客上看见别人的总结,所幸自己也试着总结一下,谈谈自己的理解。谈到垃圾回收,首先应该想到的就是三个大问题:那些内存需要回收如何回收什么时候回收了解了这三个问题,就对jvm的内存机制有了整体的了解。接下来分别讨论下这三个问题。一、哪

2016-09-08 16:38:16 489

原创 [编程之美]买票找零(卡特兰数)

第一次看这题的时候没有好好注意,后来发现这是一类大问题,学习了卡特兰数这个概念,顺便又复习了高中的排列组合知识、、、一、书中问题先看一下书中引入卡特兰数的例子: 《编程之美》4.3买票找零:2n个人排队买票,其中n个人持50元,n个人持100元。每张票50元,且一人只买一张票。初始时售票处没有零钱找零。请问这2n个人一共有多少种排队顺序,不至于使售票处找不开钱?分析1:队伍的序号标为0,1,…

2016-07-31 12:13:12 2304

原创 [leetcode]315. Count of Smaller Numbers After Self

问题描述 You are given an integer array nums and you have to return a new counts array. The counts array has the property where counts[i] is the number of smaller elements to the right of nums[i]. E

2016-07-20 11:04:39 370

转载 [编程之美]一摞烙饼的排序

原文博客写的相当全面,这里不在粘贴。求最优问题,要想到动态规划、贪心和分支界限算法。这道题属于典型的分支界限,原理类似与穷举法,但是通过穷举过程中不断放弃一些不可能的子树来提高搜索效率,即用到人工智能课上讲到的剪枝算法。剪纸主要通过提高下届值和降低上界值。原文博客中介绍的非常详细,不在赘述了。

2016-07-10 20:07:07 307

原创 [编程之美]中国象棋将帅问题

编程之美1.2, 题目不再重复了,这里主要研究方法二。核心思想就是两重循环分别从1到9,如果两个变量处于同一直线则跳过,不然就打印出两个变量。题目的要求在于只能用一个字节来存储,所以就需要空间上进行巧妙的变换。两个变量从1到9,其实只有9*9=81种状态,理论上一个字节存储已经绰绰有余了。题中方法二给出的解法就是将AB的状态转换为两位9进制的数,低位的数值i%9代表A的状态,高位数值i/9代表B的状

2016-07-10 11:11:21 232

原创 [编程之美]区间重合判断

编程之美2.19,在网上看见很多答案但是并没有看见java版本的,所以自己写一个。问题描述: 给定一个源区间[x, y] (y>=x)和N个无序的目标区间[x1,y1],[x2,y2],[x3,y3],……[xN,yN],判断源区间[x,y]是不是在目标区间内? 例如给定源区间[1,6]和一组无序的目标区间[2,3],[1,2],[2,9],[3,4],即可认为区间[1,6]在区间[2,3

2016-06-23 11:01:02 678

原创 [leetcode]Single Number

刷微博时看见的一道网易面试题,竟然一点印象都没有,后来才知道是leetcode上面的原题,而且是一个系列的都是关于位运算的。136. Single Number Given an array of integers, every element appears twice except for one. Find that single one. Note: Your algorit

2016-06-20 21:35:08 329

原创 [java源码分析]HashMap源码分析

Hashmap是java中非常常用的容器,在网上看见很多源码分析都是以前版本的,本文章结合JDK1.8的源码对HashMap进行简单的分析,在学习的过程中发现HashMap的源码远比前面的List要复杂的多,花了好长时间才理清关系。一、基本参数与构造函数public class HashMap extends AbstractMap implements Map, Clon

2016-06-03 10:33:24 341

原创 [数据库]索引的建立

由于没有学过数据库这门课,所以使用的时候很多概念都不知道,前段时间学长让我学习一下索引相关的知识,因为面试的时候会经常问道,而且当时项目也确实用到了这个问题,在此简单记录一下,以后再慢慢学习慢慢整理。        我理解的数据库索引就是用空间换取时间,如果没有索引,查找数据库中某个字段的时候就会进行顺序查找直到找到符合条件的数据,如果数据量非常庞大的话,这个开销肯定是非常恐怖的,所以在某个经

2016-06-02 20:59:59 217

原创 [java源码分析]LinkedList源码分析

分析完Arraylist后来看一下List的另一种实现LinkedList。LinkedList底层使用的是双向链表结构,内部类定义了节点结构,一个头结点和尾节点表示队列的开始和结尾。与ArrayList不同的是,LinkedList除了实现了List接口外,还实现了Deque接口,而Deque接口继承自Queue接口,也就是说,LinkedList还可以用来实现双端队列。        关于

2016-05-31 09:37:26 230

原创 [编程之美]发帖“水王”问题

编程之美2.3节。正好对应leetcode上的第169题Majority Element和229题Majority Element II,该类问题可以总结为线性时间查找固定频率元素,应该使用Moore's voting algorithm,详细说明见链接。169. Majority Element Given an array of size n,

2016-05-30 21:05:26 183

原创 [Java源码分析]ArrayList源码分析

ArrayList是java集合中最常用的,基于一个数组实现的,容量可以动态增长。        ArrayList不是现成安全的,只能在单线程环境下使用。                本文以jdk1.8的源码为例,分析其实现机制。1、基本属性与构造函数        public class ArrayList extends AbstractList impl

2016-05-29 11:44:30 320

转载 330. Patching Array

Given a sorted positive integer array nums and an integer n, add/patch elements to the array such that any number in range [1, n] inclusive can be formed by the sum of some elements in the array. Re

2016-05-27 10:22:15 147

原创 [算法学习]字符串匹配

一段正在被编辑的文本构成一个文件,而所要搜寻的模式是用户正在输入的特定的关键词,有效解决这个问题的算法叫做字符串匹配算法。假设给定文本是长度为n的数组T,而模式是一个长度为m的数组P。算法导论第32章,字符串匹配问题。本章一共给出了四个算法,分别是朴素算法,Rabin-Karp算法,有限自动机算法和kmp算法。一、朴素算法朴素算法就是直接的暴力破解,两层循环,外层n-m+1,内层m

2016-05-25 14:36:30 183

原创 [算法学习]线性时间排序:计数排序、基数排序和桶排序

在算法导论中第八章专门列出了线性时间的排序算法,常规的基于比较的排序算法的上限是O(nlogn),本章介绍了三个算法,计数排序,基数排序,桶排序。第一次接触是计数排序是leetcode上面有一道计算论文什么因子的题,基数排序和桶排序在上学期算法课上老师讲过,当时一知半解,一直以为他们两个是同一个算法。最近自习看完了这一张才发现这两个算法是完全不一样的,看了一些博客也有很多的把这两个算法混淆,我

2016-05-24 18:57:16 296

原创 zookeeper安装与配置

参加阿里的中间件比赛,需要使用jstorm系统,以前完全没有接触过相应的概念,现在处于前期学习阶段,搭建环境过程中遇到了很多麻烦,在此记录下搭建过程,本片主要介绍zookeeper集群的安装与配置过程。一、确定jdk环境zookeeper需要以来java环境,所以一定要确保jdk安装正确。

2016-05-23 18:43:17 413

原创 50. Pow(x, n)

最开是在剑指offer上面看到这道题,今天遇到试了一下发现不可以,上网找了一下才发现还有更巧妙的方法。Consider the binary representation of n. For example, if it is "10001011", then x^n = x^(1+2+8+128) = x^1 * x^2 * x^8 * x^128. Thus, we don't w

2016-05-13 15:04:21 231

转载 91. Decode Ways

参考地址  https://segmentfault.com/a/1190000003813921Decode WaysA message containing letters from A-Z is being encoded to numbers using the following mapping:'A' -> 1'B' -> 2...'Z' -> 26

2016-05-13 11:22:00 211

原创 300. Longest Increasing Subsequence

最长升序子序列,很经典的问题,发现写博客的真是不负责任啊,瞎写一通根本没有任何逻辑,本文主要参考http://yzmduncan.iteye.com/blog/1546503,加上自己的理解和实现的代码。最长递增子序列问题:在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i设dp[i]表示以i为结尾的最长递增子序列的长度,则状态转移方程为:dp[i] =

2016-05-13 10:06:05 212

原创 198. House Robber

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent house

2016-05-11 10:14:23 182

原创 121. Best Time to Buy and Sell Stock

public int maxProfit(int[] prices) { if(prices.length<2){ return 0; } int re=0; int low=prices[0]; for(int i=1; i<prices.length; i++){ if(prices[i]<low

2016-05-10 15:22:52 229

转载 31. Next Permutation

参考地址  http://www.mamicode.com/info-detail-650903.html首先,关于什么是全排列不做解释。如果一个排列为A,下一个排列为A_NEXT,那么A_NEXT一定与A有尽可能长的公共前缀。看具体例子,一个排列为124653,如何找到它的下一个排列,因为下一个排列一定与124653有尽可能长的前缀,所以,脑洞大开一下,从后面往前看这

2016-05-09 09:03:09 220

转载 [算法学习]最长回文子串:Manacher算法

参考地址:http://www.cnblogs.com/bitzhuwei/p/Longest-Palindromic-Substring-Part-II.html#_label1首先我们把字符串S改造一下变成T,改造方法是:在S的每个字符之间和S首尾都插入一个"#"。这样做的理由你很快就会知道。例如,S="abaaba",那么T="#a#b#a#a#b#a#"。

2016-05-06 16:53:00 349

原创 3. Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "

2016-05-05 16:15:34 201

原创 [编程之美]阶乘问题

Given an integer n, return the number of trailing zeroes in n!.Note: Your solution should be in logarithmic time complexity.1、分解因子, 当且仅当 因子中出现 一对 (2,5)时, 最后结果会增加一个 trailing zero.2、2的个数

2016-04-26 10:35:51 395

Java NIO中文版

全面介绍java nio的书,中文版没有正版,只有网上流传的这个版本,对于深入了解java有一定帮助

2016-05-06

空空如也

空空如也

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

TA关注的人 TA的粉丝

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