<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[enpain的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/enpain</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; enpain]]></copyright><item><title><![CDATA[剑指offer 滑动窗口问题]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/79205686</link><guid>https://blog.youkuaiyun.com/enpain/article/details/79205686</guid><author>enpain</author><pubDate>Tue, 30 Jan 2018 14:43:41 +0800</pubDate><description><![CDATA[给定一个数组和滑动窗口的大小，找出所有滑动窗口里数值的最大值。例如，如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3，那么一共存在6个滑动窗口，他们的最大值分别为{4,4,6,6,6,5}； 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个： {[2,3,4],2,6,2,5,1}， {2,[3,4,2],6,2,5,1}，
 {2,3,[4,2,6],2,5,1}]]></description><category></category></item><item><title><![CDATA[剑指offer  骰子概率问题]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/79094166</link><guid>https://blog.youkuaiyun.com/enpain/article/details/79094166</guid><author>enpain</author><pubDate>Thu, 18 Jan 2018 12:07:15 +0800</pubDate><description><![CDATA[题目 ：n个骰子扔在地上，所有骰子朝上一面的点数之和为s。输入n，打印出s 的所有可能的值出现的概率。public class T42 {
    private static final int _maxValue = 6;

    public static void printRatio(int n) {
        if (n 1) {
            return;
   ]]></description><category></category></item><item><title><![CDATA[Socket详解]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/70910794</link><guid>https://blog.youkuaiyun.com/enpain/article/details/70910794</guid><author>enpain</author><pubDate>Fri, 28 Apr 2017 14:48:13 +0800</pubDate><description><![CDATA[我们深谙信息交流的价值，那网络中进程之间如何通信，如我们每天打开浏览器浏览网页时，浏览器的进程怎么与web服务器通信的？当你用QQ聊天时，QQ进程怎么与服务器或你好友所在的QQ进程通信？这些都得靠socket？那什么是socket？socket的类型有哪些？还有socket的基本函数，这些都是本文想介绍的。本文的主要内容如下：


1、网络中进程之间如何通信？

2、Socket是什么？]]></description><category></category></item><item><title><![CDATA[java IO 系统]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/69526060</link><guid>https://blog.youkuaiyun.com/enpain/article/details/69526060</guid><author>enpain</author><pubDate>Fri, 07 Apr 2017 13:33:59 +0800</pubDate><description><![CDATA[待补充]]></description><category></category></item><item><title><![CDATA[Spring集成]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/61914149</link><guid>https://blog.youkuaiyun.com/enpain/article/details/61914149</guid><author>enpain</author><pubDate>Mon, 13 Mar 2017 10:35:51 +0800</pubDate><description><![CDATA[待补充]]></description><category></category></item><item><title><![CDATA[MySQL索引及查询优化]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/60877928</link><guid>https://blog.youkuaiyun.com/enpain/article/details/60877928</guid><author>enpain</author><pubDate>Wed, 08 Mar 2017 18:11:57 +0800</pubDate><description><![CDATA[1. MySQL索引的原理


1.1 索引目的
索引的目的在于提高查询效率，可以类比字典，如果要查“mysql”这个单词，我们肯定需要定位到m字母，然后从下往下找到y字母，再找到剩下的sql。如果没有索引，那么你可能需要把所有单词看一遍才能找到你想要的，如果我想找到m开头的单词呢？或者ze开头的单词呢？

1.2 索引原理
除了词典，生活中随处可见索引的例子，如火车站的车次表、图书]]></description><category></category></item><item><title><![CDATA[应用多级缓存模式支撑海量读服务]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/60877847</link><guid>https://blog.youkuaiyun.com/enpain/article/details/60877847</guid><author>enpain</author><pubDate>Wed, 08 Mar 2017 18:08:04 +0800</pubDate><description><![CDATA[原文出处： 张开涛

http://www.importnew.com/18983.html


缓存技术是一个老生常谈的问题，但是它也是解决性能问题的利器，一把瑞士军刀；而且在各种面试过程中或多或少会被问及一些缓存相关的问题，如缓存算法、热点数据与更新缓存、更新缓存与原子性、缓存崩溃与快速恢复等各种与缓存相关的问题。而这些问题中有些问题又是与场景相关，因此如何合理应用缓存来解决问题也是]]></description><category></category></item><item><title><![CDATA[面试总结]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/52485613</link><guid>https://blog.youkuaiyun.com/enpain/article/details/52485613</guid><author>enpain</author><pubDate>Fri, 09 Sep 2016 11:34:51 +0800</pubDate><description><![CDATA[原文链接：http://www.importnew.com/21445.html



原文出处： Giraffe

Java相关

Java GC机制(重要程度:★★★★★)

主要从三个方面回答:GC是针对什么对象进行回收(可达性分析法)，什么时候开始GC(当新生代满了会进行Minor GC，升到老年代的对象大于老年代剩余空间时会进行Major GC)，GC做什么(新生代采]]></description><category></category></item><item><title><![CDATA[剑指offer -26复制链表的复制]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/38491019</link><guid>https://blog.youkuaiyun.com/enpain/article/details/38491019</guid><author>enpain</author><pubDate>Mon, 11 Aug 2014 12:49:11 +0800</pubDate><description><![CDATA[package targetOffer;

import targetOffer.PrintTree_23.Node;

public class ComplexCopy_26 {
	 class Node{
			private int value;
			Node next;
			Node sib;
			public Node(int value,Node next,Node sib)
	]]></description><category></category></item><item><title><![CDATA[剑指offer——24二叉搜索树后序遍历]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/38472955</link><guid>https://blog.youkuaiyun.com/enpain/article/details/38472955</guid><author>enpain</author><pubDate>Sun, 10 Aug 2014 20:06:56 +0800</pubDate><description><![CDATA[package targetOffer;

public class BST_24 {
	boolean verifyBST(int a[],int start,int end)
	{
		if(a==null||start>=end)
		{
			return false;
		}
		int root=a[end-1];
		int i=start;		//不能写成i=0;
		for(;i]]></description><category></category></item><item><title><![CDATA[剑指offer23]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/38464901</link><guid>https://blog.youkuaiyun.com/enpain/article/details/38464901</guid><author>enpain</author><pubDate>Sun, 10 Aug 2014 01:40:42 +0800</pubDate><description><![CDATA[package targetOffer;

import java.util.ArrayDeque;
import java.util.Queue;

import targetOffer.Mirror_19.Node;

public class PrintTree_23 {
	 class Node{
			private int value;
			Node right;
			Node l]]></description><category></category></item><item><title><![CDATA[剑指offer22]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/38464697</link><guid>https://blog.youkuaiyun.com/enpain/article/details/38464697</guid><author>enpain</author><pubDate>Sun, 10 Aug 2014 01:21:52 +0800</pubDate><description><![CDATA[代码：
package targetOffer;

import java.util.*;

public class Stack2_22 {
	
	boolean  isPopOrder(Queue pPush,QueuepPop){
		boolean possible=false;
		
		if(pPush!=null&&pPop!=null)
		{
			 Iteratorit1= ]]></description><category></category></item><item><title><![CDATA[剑指offer21-包含min函数的栈]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/38455523</link><guid>https://blog.youkuaiyun.com/enpain/article/details/38455523</guid><author>enpain</author><pubDate>Sat, 09 Aug 2014 12:43:42 +0800</pubDate><description><![CDATA[题目：定义栈的数据结构，请在该类型中实现一个能够得到栈的最小元素的min函数
。在该栈]]></description><category></category></item><item><title><![CDATA[剑指offer-20]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/38451809</link><guid>https://blog.youkuaiyun.com/enpain/article/details/38451809</guid><author>enpain</author><pubDate>Sat, 09 Aug 2014 02:58:47 +0800</pubDate><description><![CDATA[package targetOffer;

public class Print_20 {
	public static void printArray(int a[][],int col,int row)
	{
		if(a==null||col<=0||row<=0)
			return;
		int start=0;
		while(col>start*2&&row>start*2){
		]]></description><category></category></item><item><title><![CDATA[剑指offer第19题java版]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/38451705</link><guid>https://blog.youkuaiyun.com/enpain/article/details/38451705</guid><author>enpain</author><pubDate>Sat, 09 Aug 2014 02:45:03 +0800</pubDate><description><![CDATA[package targetOffer;
//import java.util.List;
import java.util.*;
public class Mirror_19 {
	 class Node{
		private int value;
		Node right;
		Node left;
		public Node(int value,Node left,Node right)
	]]></description><category></category></item><item><title><![CDATA[编程之美2014初赛第二场第二题]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/24189167</link><guid>https://blog.youkuaiyun.com/enpain/article/details/24189167</guid><author>enpain</author><pubDate>Sun, 20 Apr 2014 18:11:53 +0800</pubDate><description><![CDATA[//source here

#include 
#include 
#include 
#include 
#include 
using namespace std;

char a[1000009],b[1000009];
struct myclass {
bool operator() (const vector a ,const vector b) 
{
int]]></description><category></category></item><item><title><![CDATA[编程之美资格赛第二题]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/23631697</link><guid>https://blog.youkuaiyun.com/enpain/article/details/23631697</guid><author>enpain</author><pubDate>Mon, 14 Apr 2014 00:49:07 +0800</pubDate><description><![CDATA[大神与三位小伙伴




时间限制:2000ms
单点时限:1000ms
内存限制:256MB






描述

L国是一个有着优美景色且物产丰富的国家，很多人都喜欢来这里旅游并且喜欢带走一些纪念品，大神同学也不例外。距离开L国的时间越来越近了，大神同学正在烦恼给她可爱的小伙伴们带什么纪念品好，现在摆在大神同学面前的有三类纪念品A, B, C可以选择，每类纪念品各]]></description><category></category></item><item><title><![CDATA[一道简单的阿里巴巴算法题。]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/22122007</link><guid>https://blog.youkuaiyun.com/enpain/article/details/22122007</guid><author>enpain</author><pubDate>Wed, 26 Mar 2014 01:36:02 +0800</pubDate><description><![CDATA[给出一个数字t和n个数，求数组a中加在一起等于t 的所有元素组合。比如t=4,n=6,这6个数为（4，3，2，2，1，1）输出就有4个不同的组合它们的加和为4: 4,3+1,2+2,and 2+1+1。
解析：


这个题目需要先对n个数进行排序（降序）。然后从中选择满足条件的数。一些比t大的数一次性可以过滤掉。另外它用到了搜索和回溯的思想。


开始写代码：

#include]]></description><category></category></item><item><title><![CDATA[剑指offer面试题08]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/21763785</link><guid>https://blog.youkuaiyun.com/enpain/article/details/21763785</guid><author>enpain</author><pubDate>Sat, 22 Mar 2014 02:24:41 +0800</pubDate><description><![CDATA[输出旋转（例如{3,4,5,1,2}为{1,2，3,4,5}的一个旋转）中最小元素。
代码：
#include 
#include 
using namespace std;
 int minInorder(int *numbers,int index1,int index2){
int result=numbers[index1];
for(int i=index1+1;i
{]]></description><category></category></item><item><title><![CDATA[剑指offer面试题 07附加题]]></title><link>https://blog.youkuaiyun.com/enpain/article/details/21569791</link><guid>https://blog.youkuaiyun.com/enpain/article/details/21569791</guid><author>enpain</author><pubDate>Thu, 20 Mar 2014 00:52:22 +0800</pubDate><description><![CDATA[实现两个队列，完成栈的操作。


代码如下：
#include 
#include 
#include 
using namespace std;


template class CStack
{
public :
CStack();
~CStack();


void push(const T&node);
T pop();
int getcount();]]></description><category></category></item></channel></rss>