0
点赞
收藏
分享

微信扫一扫

DAY7-T1332&T1545 -2022-01-22-非自己作答

如何证明如果不是回文序列,删除两次就能删除所有字符?

class Solution:
    def removePalindromeSub(self, s: str) -> int:
        return 1 if s == s[::-1] else 2

#作者:LeetCode-Solution
#链接:https://leetcode-cn.com/problems/remove-palindromic-subsequences/solution/shan-chu-hui-wen-zi-xu-lie-by-leetcode-s-tqtb/

第n个字符的长度为2^n-1
n=1,k=0
n=2^n-1, k=1
(0, 2^n-1), k与Sn-1有关
(2^n-1), k为Sn-1取反,反转。

class Solution:
    def findKthBit(self, n: int, k: int) -> str:
        if k == 1:
            return "0"
        
        mid = 1 << (n - 1)
        if k == mid:
            return "1"
        elif k < mid:
            return self.findKthBit(n - 1, k)
        else:
            k = mid * 2 - k
            return "0" if self.findKthBit(n - 1, k) == "1" else "1"

#作者:LeetCode-Solution
#链接:https://leetcode-cn.com/problems/find-kth-bit-in-nth-binary-string/solution/zhao-chu-di-n-ge-er-jin-zhi-zi-fu-chuan-zhong-de-2/
举报

相关推荐

0 条评论