<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Big Data]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shell33168</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shell33168]]></copyright><item><title><![CDATA[LeetCode面试经典150题梳理]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/148130657</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/148130657</guid><author>shell33168</author><pubDate>Thu, 22 May 2025 09:39:22 +0800</pubDate><description><![CDATA[面试经典150题梳理]]></description><category></category></item><item><title><![CDATA[Key发布]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/131225487</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/131225487</guid><author>shell33168</author><pubDate>Thu, 15 Jun 2023 12:42:50 +0800</pubDate><description><![CDATA[【代码】Key发布。]]></description><category></category></item><item><title><![CDATA[xecVvKHuMj]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106373260</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106373260</guid><author>shell33168</author><pubDate>Wed, 27 May 2020 09:38:32 +0800</pubDate><description><![CDATA[restful架构测试

]]></description><category></category></item><item><title><![CDATA[142. 环形链表 II + 287. 寻找重复数]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106363460</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106363460</guid><author>shell33168</author><pubDate>Tue, 26 May 2020 19:57:42 +0800</pubDate><description><![CDATA[142. 环形链表 II

给定一个链表，返回链表开始入环的第一个节点。如果链表无环，则返回null。

快慢指针走到相等，然后再从头节点，慢节点一起走，一直走到相交的地方


class Solution:
    def detectCycle(self, head: ListNode) -&gt; ListNode:
        slow,fast = head,head

        while fast and fast.next:
            fast = fast.ne..]]></description><category></category></item><item><title><![CDATA[bfs 和 dfs 汇总]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106320803</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106320803</guid><author>shell33168</author><pubDate>Sun, 24 May 2020 21:31:29 +0800</pubDate><description><![CDATA[1.dfs(深度优先搜索)就是暴力把所有的路径都搜索出来，它运用了回溯，保存这次的位置，深入搜索，都搜索完了便回溯回来，搜下一个位置，直到把所有最深位置都搜一遍，要注意的一点是，搜索的时候有记录走过的位置，标记完后可能要改回来；也可以递归处理左右子节点，不需要回溯

257. 二叉树的所有路径

给定一个二叉树，返回所有从根节点到叶子节点的路径。


class Solution:
    def dfs(self,root,path,result):
        if not root:
      ]]></description><category></category></item><item><title><![CDATA[双指针 滑动窗口题目汇总]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106295998</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106295998</guid><author>shell33168</author><pubDate>Sat, 23 May 2020 12:17:10 +0800</pubDate><description><![CDATA[3.无重复字符的最长子串

给定一个字符串，请你找出其中不含有重复字符的最长子串的长度。

示例1:


输入: "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc"，所以其长度为 3。


class Solution:
    def lengthOfLongestSubstring(self, s: str) -&gt; int:
        if len(s)&lt;=1:
            return len(s)
        res = 0
...]]></description><category></category></item><item><title><![CDATA[构造二叉树汇总]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106274086</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106274086</guid><author>shell33168</author><pubDate>Fri, 22 May 2020 13:45:23 +0800</pubDate><description><![CDATA[Lc 105.从前序与中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。

注意:
你可以假设树中没有重复的元素。

例如，给出

前序遍历 preorder =[3,9,20,15,7]
中序遍历 inorder = [9,3,15,20,7]

递归求解，把中序遍历的值和下标存入hash表中：


# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#        ..]]></description><category></category></item><item><title><![CDATA[Lc42 接雨水]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106243305</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106243305</guid><author>shell33168</author><pubDate>Wed, 20 May 2020 20:18:10 +0800</pubDate><description><![CDATA[从左到右扫描记录当前位置的最大值，存入数组A

从右到左扫描记录当前位置的最大值，存入数组B

A，B对应位置的较小值减去雨水量，就是当前位置可以接的雨水


class Solution:
    def trap(self, height: List[int]) -&gt; int:
        if not height or len(height) == 0:
            return 0
        
        lr,rl =[0]*len(height),[0]*len]]></description><category></category></item><item><title><![CDATA[回文字符串判断汇总]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106218890</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106218890</guid><author>shell33168</author><pubDate>Wed, 20 May 2020 09:57:20 +0800</pubDate><description><![CDATA[先写一个单独验证回文字符串的函数A，然后判断的时候如果不相等则调用A判断 [i+1,j] 或者 [i,j-1]是否为回文


class Solution:
    def judgestr(self,s,i,j):
        while i&lt;j:
            if s[i] != s[j]:
                return False
            i+=1
            j-=1
        return True
        
    ]]></description><category></category></item><item><title><![CDATA[Lc200 小岛数量]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106221288</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106221288</guid><author>shell33168</author><pubDate>Tue, 19 May 2020 19:20:01 +0800</pubDate><description><![CDATA[每次碰到‘1’就用DFS遍历联通的1，把遍历的1标记为已访问; dfs单独写成一个函数




class Solution:
    def _init_2d(self,row,col):
        d= [] 
        for i in range(row):
            d.append([])
            for j in range(col):
                d[i].append(False)
        return d
    
.]]></description><category></category></item><item><title><![CDATA[LC146. LRU缓存]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106197191</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106197191</guid><author>shell33168</author><pubDate>Mon, 18 May 2020 17:16:16 +0800</pubDate><description><![CDATA[usedlist保存访问的顺序， capacity保存lru的容量，mapping保存映射的数组


class LRUCache:

    def __init__(self, capacity: int):
        self.usedlist = []
        self.capacity = capacity
        self.mapping = {}

    def get(self, key: int) -&gt; int:
        if not self.map]]></description><category></category></item><item><title><![CDATA[课程安排汇总]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106181653</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106181653</guid><author>shell33168</author><pubDate>Mon, 18 May 2020 10:33:28 +0800</pubDate><description><![CDATA[lc 210

把课程关系转成有向图，对图进行深度优先遍历，checked标记已经访问过的节点，order保存访问顺序

也用到了回溯算法：








]]></description><category></category></item><item><title><![CDATA[Lc 反转链表【递归】]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106154850</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106154850</guid><author>shell33168</author><pubDate>Sat, 16 May 2020 10:22:01 +0800</pubDate><description><![CDATA[206. 反转链表：




    def reverseList(head):
        pre = None
        p = head

        while p:
            nextNode = p.next
            p.next = pre
            pre = p 
            p = nextNode

        return pre


]]></description><category></category></item><item><title><![CDATA[前缀和的经典题目]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/106143160</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/106143160</guid><author>shell33168</author><pubDate>Fri, 15 May 2020 15:42:36 +0800</pubDate><description><![CDATA[leet560求和等于 K 的子数组数量

（1）暴力解法

（2）前缀和



sum(i~j) = s(j) - s(i-1) = k

s(j) - k = s(i-1)



保存三个状态： sum,sum-k,cnt


def subarraySum(self, nums: List[int], k: int) -&gt; int:
        if not nums or len(nums) == 0:
            return 0
        mapping = {0:.]]></description><category></category></item><item><title><![CDATA[7.1 Spring Security]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/102981134</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/102981134</guid><author>shell33168</author><pubDate>Fri, 08 Nov 2019 22:54:00 +0800</pubDate><description><![CDATA[Spring Security是一个专注于为java应用程序提供身份认证和授权的框架，它的强大之处在于可以轻松拓展以满足自定义的需求

特征：

对身份的认证和授权提供全面，可拓展的支持
	防止各种攻击，如会话固定攻击、点击劫持、csrf攻击
	支持与servlet API、Spring MVC等web技术集成
Spring MVC 的核心 DispatcherServlet，所有请求都会发给Di...]]></description><category></category></item><item><title><![CDATA[6.3 开发社区搜索功能]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/102964397</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/102964397</guid><author>shell33168</author><pubDate>Thu, 07 Nov 2019 23:23:11 +0800</pubDate><description><![CDATA[搜索服务：

1） 帖子保存到es服务器

2）从es服务器删除、搜索帖子



发布事件：

发布帖子时，将贴子异步提交到es服务器

增加评论时，帖子异步提交到es服务器

在消费组件增加一个方法，消费贴子发布事件
...]]></description><category></category></item><item><title><![CDATA[6.2 Spring整合Elasticsearch]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/102959536</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/102959536</guid><author>shell33168</author><pubDate>Thu, 07 Nov 2019 21:33:44 +0800</pubDate><description><![CDATA[1. 引入依赖


&lt;dependency&gt;
	&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
	&lt;artifactId&gt;spring-boot-starter-data-elasticsearch&lt;/artifactId&gt;
&lt;/dependency&gt;

2. 配置Es


# Elas...]]></description><category></category></item><item><title><![CDATA[6.1 Elasticsearch入门]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/102946117</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/102946117</guid><author>shell33168</author><pubDate>Thu, 07 Nov 2019 05:42:06 +0800</pubDate><description><![CDATA[[0~4:12]

简介：

一个分布式，restful风格的搜索引擎
	支持对各种数据类型的检索
	搜索速度快，可以提供实时的搜索服务
	便于水平拓展，每秒处理PB级别的海量数据
术语：

索引、类型、文档（json结构）、字段； 分别和MySQL的数据库，表，一行或者一条数据，一列

集群、节点、分片、副本；



集群-》分布式部署

分片是对索引进一步的划分，副本是对分片的备份

es6...]]></description><category></category></item><item><title><![CDATA[第三课 Spring MVC]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/102760239</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/102760239</guid><author>shell33168</author><pubDate>Sat, 26 Oct 2019 20:57:16 +0800</pubDate><description><![CDATA[1. http：https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Overview

2. 三层架构： 表现层，业务层，数据访问层

3. MVC： Model(模型层),View（视图层）,Controller（控制层） spring mvc解决的是视图层的问题

4. DispatcherServlet:前端控制器

5. Thymeleaf:...]]></description><category></category></item><item><title><![CDATA[第二课 Spring入门]]></title><link>https://blog.youkuaiyun.com/shell33168/article/details/102758562</link><guid>https://blog.youkuaiyun.com/shell33168/article/details/102758562</guid><author>shell33168</author><pubDate>Sat, 26 Oct 2019 17:48:02 +0800</pubDate><description><![CDATA[Spring 全家桶

Spring framework
	Spring Boot
	Spring Cloud
	Spring Cloud Data Flow
Spring framework

Spring Core:Ioc(面向对象), Aop(面向切面)
	Spring Data Access: Transactions, Spring Mybatis
	Web Servlet: Sprin...]]></description><category></category></item></channel></rss>