<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Blue Charlie的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csdanteng</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csdanteng]]></copyright><item><title><![CDATA[从二叉搜索树的第k个节点问题看递归如何返回普通变量和对象]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/77754327</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/77754327</guid><author>csdanteng</author><pubDate>Thu, 31 Aug 2017 22:48:36 +0800</pubDate><description><![CDATA[在剑指offer有个求“二叉搜索树的第k个节点（从小到大）”问题。利用BST的性质，直接递归中序遍历即可。但是得到的结果总是null。例图如下：
     
      原来的代码如下：
public class Test {
    
	TreeNode KthNode(TreeNode pRoot, int k)	 		
    {
		 if(pRoot==null || k<=0)]]></description><category></category></item><item><title><![CDATA[由反序列化二叉树实现函数引起的二叉树节点递归调用问题]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/77748318</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/77748318</guid><author>csdanteng</author><pubDate>Thu, 31 Aug 2017 17:02:57 +0800</pubDate><description><![CDATA[在刷剑指offer中遇到一个反序列化二叉树问题，将给定的二叉树前序遍历字符串（节点之间用“，”分割，空节点我用的“#”）。代码用递归很容易实现，由于递归中不保存int型数据，为了给字符串遍历计数，用了一个只有一个元素的数组（目前没有想到更好的方法，返回值其他值已被预订）   实现方法如下：
public class Demo {
    
	TreeNode Deserialize(String]]></description><category></category></item><item><title><![CDATA[动态规划问题探究及其Java实现]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/77541615</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/77541615</guid><author>csdanteng</author><pubDate>Fri, 25 Aug 2017 10:02:45 +0800</pubDate><description><![CDATA[问题引入：
     某公司出售的长为i的钢条的价格为p(i)（单位为元），如下表所示。如果有一段长为n的钢条，求如何切割才能使收益最大？
                                
测试的最优方案：]]></description><category></category></item><item><title><![CDATA[快速排序Java实现]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/77504821</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/77504821</guid><author>csdanteng</author><pubDate>Wed, 23 Aug 2017 13:24:50 +0800</pubDate><description><![CDATA[public class Quicksort {
    
	private  void quicksort(int[] array, int left, int right) {
		if(left>=right)
			return;
		int base=quickswap(array,left,right);//以基点为准，左侧大于基点，右侧小于基点
		quicksort(array,l]]></description><category></category></item><item><title><![CDATA[成为Java顶尖程序员 ，看这11本书就够了]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/77073731</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/77073731</guid><author>csdanteng</author><pubDate>Thu, 10 Aug 2017 21:23:34 +0800</pubDate><description><![CDATA[学习的最好途径就是看书
"学习的最好途径就是看书"，这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处：
1、能出版出来的书一定是经过反复的思考、雕琢和审核的，因此从专业性的角度来说，一本好书的价值远超其他资料
2、对着书上的代码自己敲的时候方便
"看完书之后再次提升自我的最好途径是看一些相关的好博文"，我个人认为这是学习的第二步，因为一本书往往有好几百页，好的博文是]]></description><category></category></item><item><title><![CDATA[有序数组找到出现次数最高的元素和次数]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/77072208</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/77072208</guid><author>csdanteng</author><pubDate>Thu, 10 Aug 2017 19:38:38 +0800</pubDate><description><![CDATA[算法不难，就是用个变量分别存储已经遍历到的元素中，出现次数最多的元素和次数。在遍历过程中统计目前遍历的元素的次数，在遍历到的元素变化时，把上个元素次数和之前存储的最大次数比较，保留最大的次数和对应的元素。注意最后一个元素需要单独比较。本算法只针对已经排序好的数组。Java实现如下：
public class TestAndDel {
	
   static void findmost(int[]]]></description><category></category></item><item><title><![CDATA[抓取HTML页面表格中的某一列数据]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/77051132</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/77051132</guid><author>csdanteng</author><pubDate>Thu, 10 Aug 2017 15:07:14 +0800</pubDate><description><![CDATA[今天需要抓取的内容在HTML页面中存在，但是需要的只是表格中的某一列数据，而且在页面中存在多个table。这里采用采用逐层抓取的方法。正则表达式用的6的就不用往下看了。需要获取的的table的某一行数据如下所示：
这里需要抓取的是时间下面的“1179”。关键的地方就是先找到需要的table，再获取table的所有行，然后在每一行找到需要的列。实现如下所示：
	private static vo]]></description><category></category></item><item><title><![CDATA[利用页面分析获取json数据]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/76976376</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/76976376</guid><author>csdanteng</author><pubDate>Wed, 09 Aug 2017 12:40:24 +0800</pubDate><description><![CDATA[今天项目需要抓取车次信息，开始用jsoup访问制定的url，发现返回的只是静态页面，没有查询的数据。原来网站为了防止别人爬取数据，采用ajax异步加载数据。网上搜到的API接口要收费，后来发现可以页面分析找到数据真正的提交地址。这里以在某网站，查询济南到上海8月13号的火车信息为例说明。在某网站按F12，查询，可以抓取很多信息。点XHR看到很多get和post信息。


从第一个开始找（如果]]></description><category></category></item><item><title><![CDATA[Java语言汉语转换为拼音]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/76861740</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/76861740</guid><author>csdanteng</author><pubDate>Mon, 07 Aug 2017 21:44:03 +0800</pubDate><description><![CDATA[最近做东西需要将汉语转换为拼音，在网上正好有开源的包可以实现，下载地址：http://pinyin4j.sourceforge.net/。Mark一下，以后可能用得到，示例代码如下：
   import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType]]></description><category></category></item><item><title><![CDATA[归并排序算法Java实现]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/72152296</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/72152296</guid><author>csdanteng</author><pubDate>Mon, 15 May 2017 15:24:20 +0800</pubDate><description><![CDATA[一、基本思想
      归并算法采用分治思想，将数组的依次从中间拆分为两组，直到每个组只有一个元素位置。然后对拆分好的两组数进行归并，具体方法是：在左右两组都已经有序的前提下（只有一个数是一种特殊的有序），重建一个大小是左右两组数大小和的临时数组，然后对左右两个数组同时从前往后选最小的数放入新数组中。注意，如果如果一组元素放完了，另外一组剩余，这时无须比较，将剩余的元素直接放入临时数组。还有，]]></description><category></category></item><item><title><![CDATA[排序算法之插入排序]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/69668496</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/69668496</guid><author>csdanteng</author><pubDate>Sat, 08 Apr 2017 15:25:23 +0800</pubDate><description><![CDATA[插入排序的基本思想是：对一个数组，从第二个元素起，每次将一个元素插入到前面已经排序的序列中。常见的插入排序法有：直接插入排序，二分法插入排序和希尔排序。
这里简要介绍下希尔排序。希尔排序基本思想是分组的直接插入排序。分组的元素个数（叫增量）这里采用减半增量，即第一趟排序每组个数为数组长度一半，第二次减半，直到最后为1.注意每组元素间隔增量的是一组。为便于理解，可以认为将全部元素排成行列式（类似于]]></description><category></category></item><item><title><![CDATA[如何在局域网访问Tomcat项目]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/53705033</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/53705033</guid><author>csdanteng</author><pubDate>Sat, 17 Dec 2016 10:40:38 +0800</pubDate><description><![CDATA[1 前言

　　有时候因为工作需要，我们需要访问服务器上的项目或是把你的机器上的项目让你的同事访问到，诸如此类的，都涉及到了这个课题：如何在局域网访问Tomcat项目？而tomcat本身是支持局域网内共享的，只需简单配置防火墙规则即可，下面以windows为例，简单讲解该如何配置。

2 Windows XP配置

　　Step 1，打开控制面板，进入windows防火墙；

　　]]></description><category></category></item><item><title><![CDATA[MySQL批处理sql文件时data too long for column问题]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/53443031</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/53443031</guid><author>csdanteng</author><pubDate>Sat, 03 Dec 2016 10:54:14 +0800</pubDate><description><![CDATA[将sql文件导入数据库，发现只得到一个空表，并且显示data too long for column for XXXX，网上查了一下是控制台和数据库使用编码的问题，将他们都改为utf8编码就可以。不知道具体什么原因，时间有限不能深究了，Mark一下，以后再做研究。改动后代码段如下：]]></description><category></category></item><item><title><![CDATA[ip地址 子网掩码 默认网关]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/53228280</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/53228280</guid><author>csdanteng</author><pubDate>Sat, 19 Nov 2016 10:50:18 +0800</pubDate><description><![CDATA[IP地址、子网掩码、网关的关系？
 
       子网掩码是每个网管必须要掌握的基础知识，只有掌握它，才能够真正理解TCP/IP协议的设置。以下我们就来深入浅出地讲解什么是子网掩码。IP地址的结构:要想理解什么是子网掩码，就不能不了解IP地址的构成。互联网是由许多小型网络构成的，每个网络上都有许多主机，这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点，将每个IP地址都]]></description><category></category></item><item><title><![CDATA[MyEclipse 2016 反编译插件安装]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/53143148</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/53143148</guid><author>csdanteng</author><pubDate>Sat, 12 Nov 2016 21:23:51 +0800</pubDate><description><![CDATA[分享一下下载插件的地址，百度网盘：链接：http://pan.baidu.com/s/1nturiAH 密码：yk73








其次：我来说下具体操作步骤：


1、把net.sf.jadclipse_3.3.0.jar拷到D:\Program Files\MyEclipse 2015\plugins 目录下. 


（ 这里是我的目录,写你自己的eclips]]></description><category></category></item><item><title><![CDATA[BP神经网络原理]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/53067456</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/53067456</guid><author>csdanteng</author><pubDate>Mon, 07 Nov 2016 16:33:00 +0800</pubDate><description><![CDATA[一，什么是BP

"BP（Back Propagation）网络是1986年由Rumelhart和McCelland为首的科学家小组提出，是一种按误差逆传播算法训练的多层前馈网络，是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系，而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法，通过反向传播来不断调整网络的权值和阈值，使网络的误差平方和]]></description><category></category></item><item><title><![CDATA[搜索二叉树（BST）的实现]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/52780796</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/52780796</guid><author>csdanteng</author><pubDate>Mon, 10 Oct 2016 19:13:41 +0800</pubDate><description><![CDATA[搜索二叉树之一种特殊的二叉树，其右子树值大于根节点，根节点值大于左子树。因此，BST的插入、删除都要维持二叉树的这一特性。利用这一特性也使BST的元素查找效率提高，同时，本代码也实现了BST的递归遍历和非递归遍历。代码如下：import java.util.ArrayDeque;]]></description><category></category></item><item><title><![CDATA[合并两个输入的字符串按降序输出]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/52748096</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/52748096</guid><author>csdanteng</author><pubDate>Fri, 07 Oct 2016 09:53:35 +0800</pubDate><description><![CDATA[这个问题本身比较简单，有多种实现方法，这里用Java集合实现。只需，将输入的两个字符串合并，然后放到TreeSet集合即可。但是TressSet默认是升序排列，所以这里需要定制排序，TreeSet的一个构造方法需要comparator接口，所以可以用Lambda表达式替代。此时可以算基本完成任务了，但是这里多做一点，将排序好的字符放进一个字符串中。集合从Iterable继承的的foreach方法需]]></description><category></category></item><item><title><![CDATA[找到含有n个不同字符的子串的最大长度]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/52740424</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/52740424</guid><author>csdanteng</author><pubDate>Wed, 05 Oct 2016 20:35:37 +0800</pubDate><description><![CDATA[要求先输入字符串，再输入n的值，输出结果为：含有n个不同字符的子串的最大长度。
      处理方法：从字符串第一个字符开始，依次取大于等于的子串，得到含有n个字符的子串，如果新的子串长度大于maxSubStr，则更新maxSubStr。程序中需要防止字符标号溢出异常和字符标号越界（n的值大于字符串长度）异常。代码如下：
import java.util.Scanner;
public cla]]></description><category></category></item><item><title><![CDATA[Java 对象的比较]]></title><link>https://blog.youkuaiyun.com/csdanteng/article/details/52725013</link><guid>https://blog.youkuaiyun.com/csdanteng/article/details/52725013</guid><author>csdanteng</author><pubDate>Sun, 02 Oct 2016 21:12:44 +0800</pubDate><description><![CDATA[今天代码用到对象的比较，当时用的两个Object类型的变量a和b，然后if（a>b）,直接编译错误：The operator > is undefined for the argument type(s) java.lang.Object, java.lang.Object。原来算术运算符只能用于基本的数据类型，引用类型包括Integer和Float都不能用该操作符。这时有两种处理方法：]]></description><category></category></item></channel></rss>