<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WanderingMoon的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/WanderingMoon</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WanderingMoon]]></copyright><item><title><![CDATA[排序算法：堆排序]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/119821035</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/119821035</guid><author>WanderingMoon</author><pubDate>Fri, 20 Aug 2021 12:53:01 +0800</pubDate><description><![CDATA[堆排序
def parent(i):
    return i//2

def left(i):
    return 2*i+1

def right(i):
    return 2*i+2

def max_heapify(A,i):
    l=left(i)
    r=right(i)
    largest=i
    if l&lt;length:
        if A[l]&gt;A[i]:
            largest=l
    if r&lt;length:
     ]]></description><category></category></item><item><title><![CDATA[二叉树建立及其前序、中序、后序和层序遍历]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/119754066</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/119754066</guid><author>WanderingMoon</author><pubDate>Tue, 17 Aug 2021 12:39:52 +0800</pubDate><description><![CDATA[二叉树建立及其前序、中序、后序和层序遍历
class Treenode():
    def __init__(self, value, left=None, right=None) -&gt; None:
        self.val=value
        self.left=left
        self.right=right

class Tree():
    def __init__(self, root=None) -&gt; None:
        self.root=ro]]></description><category></category></item><item><title><![CDATA[排序：快速排序]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/119678207</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/119678207</guid><author>WanderingMoon</author><pubDate>Fri, 13 Aug 2021 16:15:57 +0800</pubDate><description><![CDATA[快速排序
def parition(l):
    length=len(l)
    if length==1:
        return l
    med=length-1
    i=0
    while i &lt; med:
        if l[i]&gt;=l[med]:
            tmp=l[med]
            l[med]=l[i]
            l[i]=l[med-1]
            l[med-1]=tmp
        ]]></description><category></category></item><item><title><![CDATA[排序：归并排序]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/119672856</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/119672856</guid><author>WanderingMoon</author><pubDate>Fri, 13 Aug 2021 16:13:52 +0800</pubDate><description><![CDATA[欢迎使用Markdown编辑器
你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章，了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持，除了标准的Markdown编辑器功能，我们增加了如下几点新功能，帮助你用它写博客：

全新的界面设计 ，将会带来全新的写作体验；
在创作中心设置你喜爱的代码高亮样式，Markdown 将代码片显示选择的高亮样式 进行展示；
增加了 图片]]></description><category></category></item><item><title><![CDATA[螺旋矩阵]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/110288800</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/110288800</guid><author>WanderingMoon</author><pubDate>Sat, 28 Nov 2020 18:15:06 +0800</pubDate><description><![CDATA[螺旋矩阵
给定一个m行n列的矩阵，按顺时针螺旋顺序返回矩阵中的所有元素。
例如：

1
逐层返回，外层到内层。每层分四个方向。
class Solution:
    def spiralOrder(self, matrix: List[List[int]]) -&gt; List[int]:
        if not matrix or not matrix[0]:
            return list()
        row = len(matrix)
        col = le]]></description><category></category></item><item><title><![CDATA[LC 旋转图像]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/110244838</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/110244838</guid><author>WanderingMoon</author><pubDate>Fri, 27 Nov 2020 21:30:51 +0800</pubDate><description><![CDATA[LC 旋转图像

1 先转置再按行反转
class Solution:
    def rotate(self, matrix: List[List[int]]) -&gt; None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        n = len(matrix)
        for i in range(n):
            for j in ra]]></description><category></category></item><item><title><![CDATA[LC 有效的数独]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/110235471</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/110235471</guid><author>WanderingMoon</author><pubDate>Fri, 27 Nov 2020 16:26:48 +0800</pubDate><description><![CDATA[LC 有效的数独


字典（哈希表）
出现错误的情况有：行标或列标一样，都属于大九宫格的同一小九宫格。创建一个字典，键为每个数的字符串形式，值为所在位置列表，通过比较位置列表判断有无重复。
class Solution:
    def isValidSudoku(self, board: List[List[str]]) -&gt; bool:
        dic = dict({})
        for i in range(9):
            for j in range(9):
]]></description><category></category></item><item><title><![CDATA[LC 两数之和（哈希表）]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/110226945</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/110226945</guid><author>WanderingMoon</author><pubDate>Fri, 27 Nov 2020 12:10:33 +0800</pubDate><description><![CDATA[LC 两数之和（哈希表）

1 两层循环
class Solution:
    def twoSum(self, nums: List[int], target: int) -&gt; List[int]:
        length = len(nums)
        i = 0
        while i &lt; length:
            for j in range(i+1,length):
                if nums[i]+nums[j] == tar]]></description><category></category></item><item><title><![CDATA[LC 两个数组的交集]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/110142272</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/110142272</guid><author>WanderingMoon</author><pubDate>Thu, 26 Nov 2020 15:04:29 +0800</pubDate><description><![CDATA[LC 两个数组的交集
给定两个数组，编写一个函数来计算它们的交集
说明：
输出结果中每个元素出现的次数，应与元素在两个数组中出现次数的最小值一致。
可以不考虑输出结果的顺序。
1
字典记录次数，取次数小的构建新列表。
class Solution:
    def intersect(self, nums1: List[int], nums2: List[int]) -&gt; List[int]:
        dic1 = dict({})
        dic2 = dict({})
      ]]></description><category></category></item><item><title><![CDATA[2020-11-25]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/110140407</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/110140407</guid><author>WanderingMoon</author><pubDate>Wed, 25 Nov 2020 18:59:48 +0800</pubDate><description><![CDATA[给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
按位异或
class Solution:
    def singleNumber(self, nums: List[int]) -&gt; int:
        for i in range(1,len(nums)):
            nums[0] = nums[0] ^ nums[i]
        return nums[0]


...]]></description><category></category></item><item><title><![CDATA[LC练习 存在重复元素]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/110130860</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/110130860</guid><author>WanderingMoon</author><pubDate>Wed, 25 Nov 2020 16:43:56 +0800</pubDate><description><![CDATA[LC练习 存在重复元素

1
两个循环，时间复杂度n(n-1)/2，运行会超时。
2
二分递归查找
class Solution:
    def containsDuplicate(self, nums: List[int]) -&gt; bool:

        def tree(array):
            length = len(array)
            if length &lt;= 1:
                return False
           ]]></description><category></category></item><item><title><![CDATA[LC练习 旋转数组]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/110052044</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/110052044</guid><author>WanderingMoon</author><pubDate>Tue, 24 Nov 2020 22:41:41 +0800</pubDate><description><![CDATA[LC练习 旋转数组

1
每次旋转一步，重复k次。可行，但是速度太慢了。
class Solution:
    def rotate(self, nums: List[int], k: int) -&gt; None:
        """
        Do not return anything, modify nums in-place instead.
        """
        
        length = len(nums)
        for i in range(]]></description><category></category></item><item><title><![CDATA[LC练习 买卖股票的最佳时机]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/109990824</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/109990824</guid><author>WanderingMoon</author><pubDate>Mon, 23 Nov 2020 14:21:57 +0800</pubDate><description><![CDATA[LC练习 买卖股票的最佳时机

解答
class Solution:
    def maxProfit(self, prices: List[int]) -&gt; int:
        length= len(prices)
        i = 0
        j = 1
        profit = 0
        while j &lt;= length - 1:
            if prices[i] &lt; prices[j]:
                i]]></description><category></category></item><item><title><![CDATA[LC练习 删除排序数组中的重复项]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/109966568</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/109966568</guid><author>WanderingMoon</author><pubDate>Mon, 23 Nov 2020 09:23:49 +0800</pubDate><description><![CDATA[LC练习 删除排序数组中的重复项
给定一个排序数组，你需要在 原地 删除重复出现的元素，使得每个元素只出现一次，返回移除后数组的新长度。不要使用额外的数组空间，你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
第一次
class Solution(object):
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """]]></description><category></category></item><item><title><![CDATA[2020-11-21]]></title><link>https://blog.youkuaiyun.com/WanderingMoon/article/details/109715530</link><guid>https://blog.youkuaiyun.com/WanderingMoon/article/details/109715530</guid><author>WanderingMoon</author><pubDate>Sun, 22 Nov 2020 13:57:20 +0800</pubDate><description><![CDATA[space_to_depth
tf.space_to_depth 函数
space_to_depth(input, block_size, data_format=“NHWC”, name=None):
SpaceToDepth for tensors of type T.
重新排列空间数据块到depth维度。这个op输出一个输入张量的复制，使得 height
和 width 维度的值转移到depth维度。 block_size表示输入的块大小。
* 大小为 `block_size x block size]]></description><category></category></item></channel></rss>