IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    2020 第33周 LeetCode 记录

    Yiran\'s Blog发表于 2020-08-16 10:27:06
    love 0
    1544. Make The String Great 链接到标题 使用栈来记录最终结果,如果栈顶和当前字符相同,那么出栈,否则入栈。 class Solution: def makeGood(self, s: str) -> str: stack = [] for i in s: if stack and ((ord(stack[-1])-32) == ord(i) or (ord(stack[-1])+32) == ord(i)): stack.pop() else: stack.append(i) return ''.join(stack) 1545. Find Kth Bit in Nth Binary String 链接到标题 找出第 N 个二进制字符串中的第 K 位,其中二进制字符串的生成是按照特定规律的,可以直接暴力模拟生成二进制字符串,找出第 N 个,这种方法不会超时,但是不好。考虑使用递归求解,每个二进制字符串的左半部分,都是上一个二进制字符串,那么需要判断 K 在第 N 个字符串中的左边还是右边,如果是中间就直接返回 1 ;如果是左边,那么就找 N-1 个二进制字符串中 K 个;如果是右边,那么就找 N-1 个二进制字符串中的 K 对称位置,并将结果取反。 class Solution: def findKthBit(self, n: int, k: int) -> str: if (n == 1): return '0' l = (1 << n) - 1 mid = (l >> 1) + 1 if k == mid: return '1' elif k < mid: return self.


沪ICP备19023445号-2号
友情链接