<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Node_Su的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Node_Su</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Node_Su]]></copyright><item><title><![CDATA[神经网络学习笔记]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/129095166</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/129095166</guid><author>Node_Su</author><pubDate>Fri, 17 Feb 2023 23:26:37 +0800</pubDate><description><![CDATA[神经网络学习笔记]]></description><category></category></item><item><title><![CDATA[ImportError: cannot import name ‘escape‘ from ‘cgi‘]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/128874786</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/128874786</guid><author>Node_Su</author><pubDate>Fri, 03 Feb 2023 19:08:10 +0800</pubDate><description><![CDATA[ImportError: cannot import name 'escape' from 'cgi']]></description><category></category></item><item><title><![CDATA[ModuleNotFoundError: No module named ‘sgmllib‘]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/128874745</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/128874745</guid><author>Node_Su</author><pubDate>Fri, 03 Feb 2023 19:05:27 +0800</pubDate><description><![CDATA[ModuleNotFoundError: No module named 'sgmllib']]></description><category></category></item><item><title><![CDATA[力扣-152.乘积最大子数组]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124471233</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124471233</guid><author>Node_Su</author><pubDate>Thu, 28 Apr 2022 13:00:18 +0800</pubDate><description><![CDATA[乘积最大子数组较最大子数组和力扣-53.最大子数组和_Node_Su的博客-优快云博客最大的区别在于，负数*负数 = 正数

也就是当当前数为负数时，以当前数结尾的 dp[i] 的最大值，有可能是前面的最小值（负数）

因此需要多一个 dp_1 数组来存储最小值


class Solution(object):
    def maxProduct(self, nums):
        """
        :type nums: List[int]
        :rtype: int
 ..]]></description><category></category></item><item><title><![CDATA[力扣-918.环形子数组的最大和]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124448328</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124448328</guid><author>Node_Su</author><pubDate>Wed, 27 Apr 2022 13:39:51 +0800</pubDate><description><![CDATA[有两种情况

第一种，最大子数组和在中间，即力扣-53.最大子数组和_Node_Su的博客-优快云博客



第二种，最大子数组和是首尾的连接



对于第二种情况力扣

根据以上两种情况，则该题转换为求

max ( max ( 情况1 )，数组总和 - min ( 情况2 ) )


class Solution(object):
    def maxSubarraySumCircular(self, nums):
        """
        :type nums: Lis...]]></description><category></category></item><item><title><![CDATA[力扣-45.跳跃游戏 II]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124428303</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124428303</guid><author>Node_Su</author><pubDate>Tue, 26 Apr 2022 15:16:59 +0800</pubDate><description><![CDATA[dp[i] 表示为，到达当前 i 索引时，所需要的最小步数

dp耗时很长，贪心不会


class Solution(object):
    def jump(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """
        n = len(nums)
        dp = [n] * n
        dp[0] = 0
        for i in range(..]]></description><category></category></item><item><title><![CDATA[力扣-55.跳跃游戏]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124425207</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124425207</guid><author>Node_Su</author><pubDate>Tue, 26 Apr 2022 12:45:16 +0800</pubDate><description><![CDATA[nums[i] 表示能跳的最远距离

i+nums[i] 表示能跳到的最远距离下标，当能跳到的最远距离大于最后一个位置时表示TRUE

初始化最远距离为0


class Solution(object):
    def canJump(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """
        n = len(nums)
        MAX_i = 0  # MAX_i]]></description><category></category></item><item><title><![CDATA[力扣-740.删除并获得点数]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124402932</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124402932</guid><author>Node_Su</author><pubDate>Mon, 25 Apr 2022 13:52:13 +0800</pubDate><description><![CDATA[新建数组number来存取nums中每个数出现的个数总和，其中number中的i表示nums中的数，i位置对应的值表示，对应的数的总和

对于示例2，有number = [0,0,4,9,4]

表示nums中数字0总和0，数字1总和0，数字2总和4，数字3总和9，数字4总和4

由于删除 nums[i] 后，需要同时删除 nums[i]+1 和 nums[i]-1（nums[i]+1 和 nums[i]-1 不需要计点数），在number数组中意味着获取当前 number[i] 后，就不用获取 num..]]></description><category></category></item><item><title><![CDATA[力扣-213.打家劫舍 II]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124379694</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124379694</guid><author>Node_Su</author><pubDate>Sun, 24 Apr 2022 12:02:57 +0800</pubDate><description><![CDATA[在前一题力扣-198.打家劫舍_Node_Su的博客-优快云博客的基础上，设置房屋围成一圈，即三个的时候，1 3 不可同时取

围成一圈则考虑

[0,n-1]的结果和[1,n]的结果哪个最优，即为最终最优解


class Solution(object):
    def rob(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        n = len(nums)
...]]></description><category></category></item><item><title><![CDATA[力扣-198.打家劫舍]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124363035</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124363035</guid><author>Node_Su</author><pubDate>Sat, 23 Apr 2022 13:51:56 +0800</pubDate><description><![CDATA[dp[i]表示打劫到当前第 i 家的最大金额

首先，前3家特殊处理

然后，是否打劫当前家应考虑打劫 i-2 家和 i-3 是否能达到最大收益，因为不能打劫邻居 i-1


class Solution(object):
    def rob(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        n = len(nums)

        dp = [0] * n #]]></description><category></category></item><item><title><![CDATA[力扣-746.使用最小花费爬楼梯]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124361830</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124361830</guid><author>Node_Su</author><pubDate>Sat, 23 Apr 2022 12:00:11 +0800</pubDate><description><![CDATA[题目看不太懂，站在0和1的时候是不用花费的？

dp[i]表示到达当前楼梯i时候的最小花费


class Solution(object):
    def minCostClimbingStairs(self, cost):
        """
        :type cost: List[int]
        :rtype: int
        """
        n = len(cost)
        dp = [0] * (n + 1)
        for i in..]]></description><category></category></item><item><title><![CDATA[力扣-70.爬楼梯]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124361098</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124361098</guid><author>Node_Su</author><pubDate>Sat, 23 Apr 2022 11:21:08 +0800</pubDate><description><![CDATA[要想到达当前楼梯，可以从n-1和n-2时的楼梯得到

首先，定义最初状态

然后，递推先前状态

最后，剩下的交给代码

超时


class Solution(object):
    def climbStairs(self, n):
        """
        :type n: int
        :rtype: int
        """
        memo = [-1] * (n+1)
        if n &lt;= 2:
            retu...]]></description><category></category></item><item><title><![CDATA[力扣-1137.第N个泰波那契数]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124360637</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124360637</guid><author>Node_Su</author><pubDate>Sat, 23 Apr 2022 10:50:30 +0800</pubDate><description><![CDATA[class Solution(object):
    def tribonacci(self, n):
        """
        :type n: int
        :rtype: int
        """
        if n == 1 or n == 0:
            return n
        if n == 2:
            return 1
        dp_1 = 1
        dp_2 = 1
        ...]]></description><category></category></item><item><title><![CDATA[力扣-931.下降路径最小和]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124345333</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124345333</guid><author>Node_Su</author><pubDate>Fri, 22 Apr 2022 14:45:41 +0800</pubDate><description><![CDATA[由于是从第一行任意一个位置开始下降，所以先初始化第一行的值

每个元素有三种选择可以到达

最左边的元素可以从[i-1][j]，[i-1][j+1] 即上方，右上方获得

最右边的元素可以从[i-1][j-1]，[i-1][j] 即左上方，上方获得

中间元素可以从[i-1][j-1]，[i-1][j] ，[i-1][j+1]即左上方，上方，右上方获得


class Solution(object):
    def minFallingPathSum(self, matrix):
    ...]]></description><category></category></item><item><title><![CDATA[力扣-64.最小路径和]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124343674</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124343674</guid><author>Node_Su</author><pubDate>Fri, 22 Apr 2022 14:35:06 +0800</pubDate><description><![CDATA[dp函数 超时


class Solution(object):

    def minPathSum(self, grid):
        """
        :type grid: List[List[int]]
        :rtype: int
        """
        m = len(grid)
        n = len(grid[0])
        return self.dp(grid, m - 1, n - 1)

    def dp(self,..]]></description><category></category></item><item><title><![CDATA[力扣-53.最大子数组和]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124316441</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124316441</guid><author>Node_Su</author><pubDate>Thu, 21 Apr 2022 11:00:16 +0800</pubDate><description><![CDATA[dp[i]表示为，以当前nums[i]为结尾的值时最大连续子数组和

dp[i]的选择要么选择自己时最大的，要么与之前相连的求和最大


class Solution(object):
    def maxSubArray(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        dp = [-99999] * (len(nums))
        dp[0] = nu..]]></description><category></category></item><item><title><![CDATA[力扣-354.俄罗斯套娃信封问题]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124299544</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124299544</guid><author>Node_Su</author><pubDate>Wed, 20 Apr 2022 16:08:38 +0800</pubDate><description><![CDATA[首先，将宽度升序，如果宽度一样则对高度降序（因为要先找到同宽中最大的信封装）

然后，再将排序后的高度，求最长递增子序列力扣-300.最长递增子序列_Node_Su的博客-优快云博客

例如原先数据：  经过以上步骤后：

[5,4]           [2,3]

[6,4]           [5,4]

[6,7]           [6,7]

[2,3]           [6,4]...]]></description><category></category></item><item><title><![CDATA[力扣-300.最长递增子序列]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124293499</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124293499</guid><author>Node_Su</author><pubDate>Wed, 20 Apr 2022 11:58:17 +0800</pubDate><description><![CDATA[首先明确：dp[i]的值用来存放当以当前nums[i]为结尾的时，最长子序列个数结果

其次：将dp数组初始化为1，当nums至少有一个数时，其最长子序列个数就是1

nums = [10 9 2 5 3 7 101 18]

以10为结尾，最长子序列个数为1：dp = [1]

以9为结尾，最长子序列个数为1：dp[1 1]

以2为结尾，最长子序列个数为1：dp = [1 1 1]

以5为结尾，最长子序列个数为2：dp = [1 1 1 2]

以3为结尾，最长子序列个数为2：dp = [1 1 ..]]></description><category></category></item><item><title><![CDATA[力扣-322.零钱兑换]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/124271511</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/124271511</guid><author>Node_Su</author><pubDate>Tue, 19 Apr 2022 13:40:53 +0800</pubDate><description><![CDATA[1、dp函数


class Solution(object):
    def coinChange(self, coins, amount):
        """
        :type coins: List[int]
        :type amount: int
        :rtype: int
        """
        if amount &lt; 0:
            return -1
        if amount == 0:
     ...]]></description><category></category></item><item><title><![CDATA[TensorFlow]]></title><link>https://blog.youkuaiyun.com/Node_Su/article/details/120996390</link><guid>https://blog.youkuaiyun.com/Node_Su/article/details/120996390</guid><author>Node_Su</author><pubDate>Wed, 27 Oct 2021 16:41:46 +0800</pubDate><description><![CDATA[tf.multiply , tf.subtract , tf.negative

替代

tf.mul , tf.sub , tf.neg
]]></description><category></category></item></channel></rss>