<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[木剑温华 的 博客]]></title><description><![CDATA[记忆不佳 望竹篮打水 留有余华]]></description><link>https://blog.youkuaiyun.com/a3765421</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a3765421]]></copyright><item><title><![CDATA[论文代码]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/105389587</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/105389587</guid><author>a3765421</author><pubDate>Wed, 08 Apr 2020 15:50:10 +0800</pubDate><description><![CDATA[public Map&lt;Integer, Map&lt;Integer, Double&gt;&gt; getPersonFeature(){
	Map&lt;Integer, Map&lt;Integer, Double&gt;&gt; personMap = Maps.newHashMap();
	List&lt;Integer&gt; userIds = getAllUserId();...]]></description><category></category></item><item><title><![CDATA[当一个栈帧需要较大容量时，是否所有栈帧都需要同步变大？]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/102771633</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/102771633</guid><author>a3765421</author><pubDate>Sun, 27 Oct 2019 21:22:25 +0800</pubDate><description><![CDATA[产生思考的源头是读书的时候碰到这个一段话：

“如果方法调用时，方法的参数和局部变量相对较多，那么栈帧中的局部变量表会变大，栈帧会膨胀以满足方法调用所需传递的信息。因此，单个方法调用所需的栈空间大小也会较多。”



开始测试 是否为整体栈帧都需要变大：



虚拟机设置：  -Xss160k


public class ThreadDemo {

	private static int...]]></description><category></category></item><item><title><![CDATA[ArrayList与LinkedList在JVM内存受限的情况下，性能有几十倍的差距]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/102538228</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/102538228</guid><author>a3765421</author><pubDate>Sun, 13 Oct 2019 21:26:34 +0800</pubDate><description><![CDATA[【问题】在JVM堆设置较小的情况下（假设20m，且不会OOM）， 分别尝试往ArrayList 和 LinkedList 里面add对象， 后者的时间开销是前者的三十倍。














































...]]></description><category></category></item><item><title><![CDATA[manacher算法解释]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/96428699</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/96428699</guid><author>a3765421</author><pubDate>Thu, 18 Jul 2019 13:01:40 +0800</pubDate><description><![CDATA[代码解释：



源码：


#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;algorithm&gt;
#include&lt;limits&gt;
using namespace std;
//在字符串之间插入字符，从而 奇偶回文串都能识别
char* m...]]></description><category></category></item><item><title><![CDATA[MySQL 因 “CST” 时区协商误解导致时间差了 14 或 13 小时]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/90789278</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/90789278</guid><author>a3765421</author><pubDate>Tue, 04 Jun 2019 17:50:14 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/jyongchong/article/details/77862819





试了挺多办法，就这个管用，。在/etc下创建一个 my.cnf文件。 给予 664 rw rw r的权限，然后再在里面的mysqlId下补一行：

default-time-zone = '+08:00'





ok


...]]></description><category></category></item><item><title><![CDATA[书籍阅读始与终]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/90243899</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/90243899</guid><author>a3765421</author><pubDate>Wed, 15 May 2019 20:09:45 +0800</pubDate><description><![CDATA[1.《大话设计模式》：2019年5月15-止

2.《Java并发编程之美》：2019年5月15 - 一半 止

3. 《深入理解JAVA虚拟机》 2019 年5月20 - 基本需求看完 8月1号 完

4.《spring技术内幕》2019年6月4日 - 止

5.《大型网站技术架构：核心原理与案例分析》 2019年6月 2日 - 六月 20日 完

6. 《redis设计与实现》 20...]]></description><category></category></item><item><title><![CDATA[leetcode90. 子集 II]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89954237</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89954237</guid><author>a3765421</author><pubDate>Wed, 08 May 2019 15:09:48 +0800</pubDate><description><![CDATA[第K次有n个集合， 第k+1次 即为在原有的每个集合中再插入一个数值然后再填入第K个集合中，即为第K+1，

当碰到重复元素时， 只需要对 前一次才加入的集合 增加其一个元素就好了








class Solution {
public:
    vector&lt;vector&lt;int&gt;&gt; subsetsWithDup(vector&lt;int&gt;&amp; ...]]></description><category></category></item><item><title><![CDATA[leetcode89  格雷编码]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89944896</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89944896</guid><author>a3765421</author><pubDate>Wed, 08 May 2019 09:13:07 +0800</pubDate><description><![CDATA[原理 图示 在这个链接里。。。。。。（感谢作者。）

https://blog.youkuaiyun.com/u012501459/article/details/46790683



思想： 迭代进化的感觉，找到规律就好做了：

当我们知道了第K次的情况是什么，则k+1次的情况为 （ K次的解） +  （ K次解的翻转，然后补最高位1）




class Solution {
public:
...]]></description><category></category></item><item><title><![CDATA[leetcode86. 分隔链表]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89928847</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89928847</guid><author>a3765421</author><pubDate>Tue, 07 May 2019 20:34:35 +0800</pubDate><description><![CDATA[#include&lt;queue&gt;
#include&lt;iostream&gt;
using namespace std;

  struct ListNode {
      int val;
      ListNode *next;
      ListNode(int x) : val(x), next(NULL) {}
  };
 // 思想： 遍历链表：两个队列分别存小于...]]></description><category></category></item><item><title><![CDATA[leetcode 83:删除排序链表中的重复元素]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89928828</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89928828</guid><author>a3765421</author><pubDate>Tue, 07 May 2019 20:32:02 +0800</pubDate><description><![CDATA[/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
// 思想： go指针遍历所有，be指针在go指针之前： 当go指针与be指针所...]]></description><category></category></item><item><title><![CDATA[leetcode82:删除排序链表中的重复元素 II]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89928750</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89928750</guid><author>a3765421</author><pubDate>Tue, 07 May 2019 20:27:20 +0800</pubDate><description><![CDATA[/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
// 总的思想： 先确定能用的头节点（过滤掉很多值），然后 在其后的遍历过程中把...]]></description><category></category></item><item><title><![CDATA[leetcode 81: 搜索旋转排序数组 II]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89883385</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89883385</guid><author>a3765421</author><pubDate>Mon, 06 May 2019 15:08:33 +0800</pubDate><description><![CDATA[和leetcode 33 题一样 分 判断 该点落在哪里，然后在哪里二分的找

有趣的一步是： 如果 中点和 最左和最右相同 则无法判断 该点落于何处，则 舍弃该两点～～～




class Solution {
public:
    bool search(vector&lt;int&gt;&amp; nums, int target) {
    	int size = nums.si...]]></description><category></category></item><item><title><![CDATA[leetcode80-删除排序数组中的重复项 II]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89854702</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89854702</guid><author>a3765421</author><pubDate>Sun, 05 May 2019 20:35:25 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/sss__c/article/details/80787931



给我的帮助很大，。开阔大脑，    medium ===&gt; easy


#include&lt;vector&gt;
#include&lt;iostream&gt;
using namespace std;
class Solution {
public:
   ...]]></description><category></category></item><item><title><![CDATA[leetcode79- 找单词]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89848584</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89848584</guid><author>a3765421</author><pubDate>Sun, 05 May 2019 16:30:30 +0800</pubDate><description><![CDATA[dfs 广度搜索： 额 说白了就是每次往 上下左右四周找匹配的·字符罢了

同时还要注意当前字符是否已经使用过了。




#include&lt;vector&gt;
#include&lt;string&gt;
#include&lt;iostream&gt;
using namespace std;
class Solution {
public:
    bool exist(vecto...]]></description><category></category></item><item><title><![CDATA[leetcode 77、78 - 一个找组合 一个找子集，其实是同一类题目]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89839723</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89839723</guid><author>a3765421</author><pubDate>Sun, 05 May 2019 09:52:42 +0800</pubDate><description><![CDATA[77:


class Solution {
public:
    vector&lt;vector&lt;int&gt;&gt; combine(int n, int k) {
        vector&lt;vector&lt;int&gt; &gt; result;
        vector&lt;int&gt; res;
        vector&lt;int&gt; st...]]></description><category></category></item><item><title><![CDATA[leetcode75 颜色分类]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89743619</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89743619</guid><author>a3765421</author><pubDate>Thu, 02 May 2019 11:45:12 +0800</pubDate><description><![CDATA[很多的排序算法如 冒泡 插入 什么的，都是基于比较的，

这题还可以通过 基于 数据下标的算法： 计数排序 来做



下面的解为 partition 的分区方法， 供参考： 思路： 0放左边 2方右边，遇1直接跳过




class Solution {
public:
    void swap(vector&lt;int&gt;&amp; nums, int i, int j){
 ...]]></description><category></category></item><item><title><![CDATA[leetcode 73:矩阵置0]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89682065</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89682065</guid><author>a3765421</author><pubDate>Mon, 29 Apr 2019 20:12:37 +0800</pubDate><description><![CDATA[我的思路是 ，用一个hash set存 每个为0点的坐标，然后取出来后迭代置0； 这样做的话也有毛病：处有重复置0的情况




struct VectorHash{
	size_t operator() (const vector&lt;int&gt;&amp; v) const{
		hash&lt;int&gt; hasher;
		size_t seed = 0;
		for(int i...]]></description><category></category></item><item><title><![CDATA[leetcode -71： 简化路径]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89675943</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89675943</guid><author>a3765421</author><pubDate>Mon, 29 Apr 2019 15:30:26 +0800</pubDate><description><![CDATA[// 该题逻辑： 第一步：扫描字串： 跳过每次遍历开头碰到的所有斜杠，收集字母的字符串，碰到 '.' 的话不理睬，碰到 ‘..’ 的话，能弹栈就弹栈，这样，就把待显示的数据收集好了。
// 第二步： 弹栈并 组合


#include&lt;algorithm&gt;
#include&lt;stack&gt;
#include&lt;iostream&gt;
#include&lt;string...]]></description><category></category></item><item><title><![CDATA[leetcode 69 平方根]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89668756</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89668756</guid><author>a3765421</author><pubDate>Mon, 29 Apr 2019 09:53:28 +0800</pubDate><description><![CDATA[思路：对于0～x 之间去找一个整数i，

1.使得i的平方等于 x 或者

2. i的平方 小于x , 但 (i+1）的平方大于x

如果能找到，我们就得到了结果。



最原始的话是用顺序搜索法，从0开始往后搜索，但这种方法太慢了，因为有序，我们懂得二分的方法去找一个数。

每次我们定一个中点 mid ， 若此时mid 满足以上两个条件中的一个，即代表我们找到了这个数，直接返回即可。

若当前...]]></description><category></category></item><item><title><![CDATA[快速搭建后台 ： spring boot]]></title><link>https://blog.youkuaiyun.com/a3765421/article/details/89632775</link><guid>https://blog.youkuaiyun.com/a3765421/article/details/89632775</guid><author>a3765421</author><pubDate>Sun, 28 Apr 2019 10:47:58 +0800</pubDate><description><![CDATA[1. 打开https://start.spring.io  好像要VPN的样子，我每次都是vpn打开的



然后在 Dependencises 中 填写 web 、aop 从而得到Web 和 Aspects

然后 创建项目 并下载，在本地解压，导入。

2. 下载 jar包：velocity-engine-core-2.0.jar

3.导入jar包：





4.在pom.xml文件中...]]></description><category></category></item></channel></rss>