<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kwsunnh的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kwsunnh</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kwsunnh]]></copyright><item><title><![CDATA[leetcode算法总结（方法论篇）]]></title><link>https://blog.youkuaiyun.com/kwsunnh/article/details/133709185</link><guid>https://blog.youkuaiyun.com/kwsunnh/article/details/133709185</guid><author>kwsunnh</author><pubDate>Mon, 09 Oct 2023 21:01:28 +0800</pubDate><description><![CDATA[堆，又称优先级队列，在逻辑上可以视为一棵完全二叉树，且满足每个节点的值小于等于（小根堆）其左右孩子节点的值。结合二维数组使用，常用图、或者多个条件的状态。备注：子序列是非连续的，子串是连续的。是否相遇（快指针两步，慢指针一步）]]></description><category></category></item><item><title><![CDATA[算法学习小结]]></title><link>https://blog.youkuaiyun.com/kwsunnh/article/details/121621348</link><guid>https://blog.youkuaiyun.com/kwsunnh/article/details/121621348</guid><author>kwsunnh</author><pubDate>Mon, 29 Nov 2021 22:30:50 +0800</pubDate><description><![CDATA[1、最短无序连续子数组

给你一个整数数组 nums ，你需要找出一个 连续子数组 ，如果对这个子数组进行升序排序，那么整个数组都会变为升序排序。
输入：nums = [2,6,4,8,10,9,15]
输出：5
解释：你只需要对 [6, 4, 8, 10, 9] 进行升序排序，那么整个表都会变为升序排序。



解题思路：O(n)

从左往右找到第一个降序点，从这个点开始找到最大的元素max。
	从右往左找到第一个升序点，从这个点开始找到最小的元素min。
从左往右遍历，第一个大于min的元素即是失序数组]]></description><category></category></item><item><title><![CDATA[java多线程-future]]></title><link>https://blog.youkuaiyun.com/kwsunnh/article/details/91599869</link><guid>https://blog.youkuaiyun.com/kwsunnh/article/details/91599869</guid><author>kwsunnh</author><pubDate>Wed, 12 Jun 2019 19:25:24 +0800</pubDate><description><![CDATA[以最常见的一次future调用为例：

ServiceFutureFactory.getFuture() 实际上调用了FutureFactory.getFuture()

观察一下FutureFactory的代码，发现主要是封装一个ThreadLocal

也就是每个pigeon线程都会有一个ThreadLocal作为Future容器，一次完整的future调用（就像第一幅图中，调用紧接着getF...]]></description><category></category></item><item><title><![CDATA[Maven学习]]></title><link>https://blog.youkuaiyun.com/kwsunnh/article/details/91598087</link><guid>https://blog.youkuaiyun.com/kwsunnh/article/details/91598087</guid><author>kwsunnh</author><pubDate>Wed, 12 Jun 2019 19:20:06 +0800</pubDate><description><![CDATA[仓库

本地仓库：

maven项目实际目录下，是不存放依赖文件的，当编译或者测试需要用到依赖文件时，maven基于仓库坐标会去对应的仓库查找依赖项，首先在本地仓库中找，然后下载到本地仓库再使用，若本地仓库与远程仓库均没有，报错。构件只有在本地仓库，才能被maven项目使用，构件如何进入本地仓库：远程仓库下载，本地项目mvn install。

远程仓库：

本地仓库只有一个，远程仓库可以有多个：...]]></description><category></category></item><item><title><![CDATA[java多线程学习]]></title><link>https://blog.youkuaiyun.com/kwsunnh/article/details/91521102</link><guid>https://blog.youkuaiyun.com/kwsunnh/article/details/91521102</guid><author>kwsunnh</author><pubDate>Wed, 12 Jun 2019 14:30:26 +0800</pubDate><description><![CDATA[定义

进程是资源分配的基本单元，进程间资源不共享。

线程是独立运行和独立调度的基本单元，一个进程中可以包含多个线程，这些线程共享进程内的资源。每个线程可以拥有自己的堆栈，自己的程序计数器和自己的局部变量。

创建多线程

继承Thread方法

（1）定义Thread类的子类，并重写该类的run方法，该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。

（2）创建T...]]></description><category></category></item><item><title><![CDATA[linux/mac命令]]></title><link>https://blog.youkuaiyun.com/kwsunnh/article/details/91520301</link><guid>https://blog.youkuaiyun.com/kwsunnh/article/details/91520301</guid><author>kwsunnh</author><pubDate>Wed, 12 Jun 2019 14:27:44 +0800</pubDate><description><![CDATA[1、打开文件夹


open .1

上面这个命令就是打开当前所在的文件夹，当然你也可以利用 open 命令打开其它的文件夹。
比如：


open ~
open /home/
open ~/Downloads/


2、修改host

https://blog.youkuaiyun.com/dingqk/article/details/77982910

sudovi/etc/hostssud...]]></description><category></category></item><item><title><![CDATA[常用的git命令]]></title><link>https://blog.youkuaiyun.com/kwsunnh/article/details/91519756</link><guid>https://blog.youkuaiyun.com/kwsunnh/article/details/91519756</guid><author>kwsunnh</author><pubDate>Wed, 12 Jun 2019 14:25:36 +0800</pubDate><description><![CDATA[1、本来本地存在分支，将远程git仓库里的指定分支拉取到本地

git checkout -b 本地分支名 origin/远程分支名

2、直接克隆指定分支

git clone -b &lt;branch name&gt; [remote repository address]

git pull &lt;远程主机号&gt; &lt;远程分支&gt;:&lt;本地分支&gt;

git push...]]></description><category></category></item></channel></rss>