<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_41209110的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_41209110</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_41209110]]></copyright><item><title><![CDATA[python读取yaml和excel方法]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/129187573</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/129187573</guid><author>qq_41209110</author><pubDate>Thu, 23 Feb 2023 18:43:26 +0800</pubDate><description><![CDATA[python读取yaml和excel方法
欢迎使用Markdown编辑器
你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章，了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持，除了标准的Markdown编辑器功能，我们增加了如下几点新功能，帮助你用它写博客：撤销：Ctrl/Command + Z
重做：Ctrl/Command + Y
加粗：Ctrl/Command + B
斜体]]></description><category></category></item><item><title><![CDATA[python删除三个以上相邻重复字符]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120679633</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120679633</guid><author>qq_41209110</author><pubDate>Sat, 09 Oct 2021 21:40:15 +0800</pubDate><description><![CDATA[双指针法：
用一个左指针和一个右指针，遍历字符串，先固定左指针，
当右指针指向的值等于左指针的值时，就继续移动右指针，然后判断右指针与左指针之间的长度是否大于等于3，如果是的话，就删除掉s中的这一段，并且左指针回退2位，如果否，就移动左指针；
def elimination(s):
    l = 0
    while l &lt; len(s):
        r = l  # 把右指针更新为当前位置
        while r &lt; len(s) and s[r] == s[l]:
    ]]></description><category></category></item><item><title><![CDATA[leetcode143重排链表]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120675175</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120675175</guid><author>qq_41209110</author><pubDate>Sat, 09 Oct 2021 17:08:47 +0800</pubDate><description><![CDATA[# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def reorderList(self, head: ListNode) -&gt; None:
        """
        Do not return .]]></description><category></category></item><item><title><![CDATA[最长回文字串、最长递增子序列、最长连续子数组、最大连续子数组的和]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120631040</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120631040</guid><author>qq_41209110</author><pubDate>Wed, 06 Oct 2021 23:32:45 +0800</pubDate><description><![CDATA[class Solution:
    def longestPalindrome(self, s: str) -&gt; str:

        if not s:
            return ''

        dp = [[False for i in range(len(s))]for i in range(len(s))]

        for i in range(len(s)):
            dp[i][i] = True
        cur_start.]]></description><category></category></item><item><title><![CDATA[最长无重复子串 和 公共子串长度]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120586166</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120586166</guid><author>qq_41209110</author><pubDate>Sat, 02 Oct 2021 15:26:18 +0800</pubDate><description><![CDATA[1、最长无重复子串

class Solution:
    def lengthOfLongestSubstring(self, s: str) -&gt; int:
        if not s:
            return 0
        queue = [s[0]]
        dic = {s[0]:0}
        max_len = 1
        tmp = 1
        for i in range(1,len(s)):
            if s]]></description><category></category></item><item><title><![CDATA[面试题 04.05. 合法二叉搜索树]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120468212</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120468212</guid><author>qq_41209110</author><pubDate>Sat, 25 Sep 2021 10:17:03 +0800</pubDate><description><![CDATA[# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def isValidBST(self, root: TreeNode) -&gt; bool:
        
        #中序遍历，.]]></description><category></category></item><item><title><![CDATA[2021-09-22面试题 04.03. 特定深度节点链表]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120464439</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120464439</guid><author>qq_41209110</author><pubDate>Fri, 24 Sep 2021 22:41:11 +0800</pubDate><description><![CDATA[# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#       .]]></description><category></category></item><item><title><![CDATA[面试题 01.07. 旋转矩阵]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120402086</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120402086</guid><author>qq_41209110</author><pubDate>Tue, 21 Sep 2021 15:32:13 +0800</pubDate><description><![CDATA[class Solution:
    def rotate(self, matrix: List[List[int]]) -&gt; None:
        
        n = len(matrix)
        matrix_new = [[0] * n for _ in range(n)]

        #这里有一个公式：原矩阵[i][j] === 变换后[j][n-i-1]
        for i in range(n):
            for j in range.]]></description><category></category></item><item><title><![CDATA[面试题 01.06. 字符串压缩]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120401952</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120401952</guid><author>qq_41209110</author><pubDate>Tue, 21 Sep 2021 15:21:00 +0800</pubDate><description><![CDATA[class Solution(object):
    def compressString(self, S):
        if S == '':
            return S 
        res = [S[0]]
        count = 1
        for i in range(1,len(S)):
            if S[i] != res[-1]:
                #这里一定要注意先加入count 再加入S[i]
          .]]></description><category></category></item><item><title><![CDATA[面试题 01.05. 一次编辑]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120401748</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120401748</guid><author>qq_41209110</author><pubDate>Tue, 21 Sep 2021 15:02:38 +0800</pubDate><description><![CDATA[class Solution(object):
    def oneEditAway(self, first, second):
        """
        :type first: str
        :type second: str
        :rtype: bool
        """
        if abs(len(first)-len(second)) &gt; 1:
            return False
        for i in rang.]]></description><category></category></item><item><title><![CDATA[面试题 01.04. 回文排列]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120401601</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120401601</guid><author>qq_41209110</author><pubDate>Tue, 21 Sep 2021 14:51:20 +0800</pubDate><description><![CDATA[class Solution:
    def canPermutePalindrome(self, s: str) -&gt; bool:
        flag = 0
        num = 0

        #这一步骤是将所有出现次数为2的倍数的字符过滤掉
        for i in s:
            lens = ord(i)
            flag = flag ^ (1 &lt;&lt; lens)

        #这里是将flag右移与1进行与运算.]]></description><category></category></item><item><title><![CDATA[面试题 01.02. 判定是否互为字符重排]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120401389</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120401389</guid><author>qq_41209110</author><pubDate>Tue, 21 Sep 2021 14:28:12 +0800</pubDate><description><![CDATA[给定两个字符串 s1 和 s2，请编写一个程序，确定其中一个字符串的字符重新排列后，能否变成另一个字符串。
class Solution(object):
    def CheckPermutation(self, s1, s2):
        """
        :type s1: str
        :type s2: str
        :rtype: bool
        """
        alist1 = [0] * 26
        alist2 = [0] * ]]></description><category></category></item><item><title><![CDATA[面试题 01.01. 判定字符是否唯一]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120401331</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120401331</guid><author>qq_41209110</author><pubDate>Tue, 21 Sep 2021 14:21:48 +0800</pubDate><description><![CDATA[class Solution(object):
    def isUnique(self, astr):
        """
        :type astr: str
        :rtype: bool
        """
        flag = 0
        for i in astr:
            tem = ord(i) - ord('a')
            if (1&lt;&lt;tem) &amp; flag != 0:
          ]]></description><category></category></item><item><title><![CDATA[两个栈实现一个队列和两个队列实现一个栈]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120400738</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120400738</guid><author>qq_41209110</author><pubDate>Tue, 21 Sep 2021 13:12:44 +0800</pubDate><description><![CDATA[两个栈实现一个队列
class MyQueue:

    def __init__(self):
        self.A = []
        self.B = []

    def push(self, x: int) -&gt; None:
        self.A.append(x)

    def pop(self) -&gt; int:
        if self.B:
            return self.B.pop()
        else:
      ]]></description><category></category></item><item><title><![CDATA[面试题 03.05. 栈排序]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120400621</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120400621</guid><author>qq_41209110</author><pubDate>Tue, 21 Sep 2021 12:51:10 +0800</pubDate><description><![CDATA[面试题 03.05. 栈排序
栈排序。 编写程序，对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据，但不得将元素复制到别的数据结构（如数组）中。该栈支持如下操作：push、pop、peek 和 isEmpty。当栈为空时，peek 返回 -1。
定义一个主栈和辅助栈的方法，辅助栈中存储比val小的值。
class SortedStack:

    def __init__(self,**args):
        #定义一个主stack，和一个辅助的help
        self]]></description><category></category></item><item><title><![CDATA[链表相加（包括正向和反向）]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120396037</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120396037</guid><author>qq_41209110</author><pubDate>Mon, 20 Sep 2021 21:52:58 +0800</pubDate><description><![CDATA[1、正向

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def addTwoNumbers(self, l1: ListNode, l2: ListNode) -&gt; ListNode:
        s1 ]]></description><category></category></item><item><title><![CDATA[面试题 02.04. 分割链表]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120394140</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120394140</guid><author>qq_41209110</author><pubDate>Mon, 20 Sep 2021 18:55:43 +0800</pubDate><description><![CDATA[# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def partition(self, head: ListNode, x: int) -&gt; ListNode:

        #双链表法
        pmin = node1 = Lis]]></description><category></category></item><item><title><![CDATA[260. 只出现一次的数字 III]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120384694</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120384694</guid><author>qq_41209110</author><pubDate>Sun, 19 Sep 2021 21:02:34 +0800</pubDate><description><![CDATA[给定一个整数数组 nums，其中恰好有两个元素只出现一次，其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。
class Solution:
    def singleNumber(self, nums: List[int]) -&gt; List[int]:
        

        flag = 0
        #这个循环就是让nums里的元素都进行异或，最后得到两个只出现一次的数异或后的结果flag
        for i in nums:
   ]]></description><category></category></item><item><title><![CDATA[只出现一次的数字 II]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120384297</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120384297</guid><author>qq_41209110</author><pubDate>Sun, 19 Sep 2021 20:29:23 +0800</pubDate><description><![CDATA[class Solution:
    def singleNumber(self, nums):
        res = 0
        for i in range(32):
            Sum = 0
            for num in nums:
                Sum += (num&gt;&gt;i)&amp;1
            if Sum % 3 :
                #当i为31的时候，这个数就是负数
          ]]></description><category></category></item><item><title><![CDATA[只出现一次的数字I]]></title><link>https://blog.youkuaiyun.com/qq_41209110/article/details/120383470</link><guid>https://blog.youkuaiyun.com/qq_41209110/article/details/120383470</guid><author>qq_41209110</author><pubDate>Sun, 19 Sep 2021 19:04:25 +0800</pubDate><description><![CDATA[class Solution:
    def singleNumber(self, nums: List[int]) -&gt; int:
        
        #这里要知道异或运算：0^a = a  a^a=0

        res= 0
        for i in nums:
            res = res ^ i
        return res


]]></description><category></category></item></channel></rss>