笔试刷题(持续更新)| Leetcode 45,1190

45. 跳跃游戏

题目链接: 45. 跳跃游戏 II - 力扣(LeetCode)

这道题思路不难记,遍历数组每个位置,更新下一次的范围,当当前位置已经在当前范围之外时,步数一定得加一,当前范围更新成下一个范围。

难点在于边界条件。

  1. 当数组只有一个元素时,步数默认为0,而不是1,因为已经站到了终点,无需走动。
  2. step初始值为0,所以currentRange正好等于当前位置时,步数就要加1,更新当前位置。
  3. 当更新过后的当前位置已经覆盖到终点后,就不用继续循环,直接返回步数。
class Solution(object):
    def jump(self, nums):
        if len(nums) == 1:
            return 0
        step = 0
        currentRange, nextRange = 0, 0
        for i in range(len(nums)):
            nextRange = max(nextRange, i+nums[i])
            if currentRange == i:
                step += 1
                currentRange = nextRange
                if currentRange >= len(nums) - 1:
                    break
        return step

1190.  反转每对括号间的子串

题目链接:1190. 反转每对括号间的子串 - 力扣(LeetCode)

字符串的反转要先想到栈的应用。栈“先进后出”的特点可以实现反转的效果。以括号为分割点,逐一反转。

class Solution(object):
    def reverseParentheses(self, s):
        stack = []
        for c in s:
            if c != ")":
                stack.append(c)
            else:
                cur = []
                while stack and stack[-1] != '(':
                    cur.append(stack.pop())
                if stack and stack[-1] == '(':
                    stack.pop()
                stack += cur
        return ''.join(stack)

相关推荐

  1. 笔试持续更新)| Leetcode 45,1190

    2024-02-16 00:56:01       62 阅读
  2. c++leetcode常见报错(持续更新

    2024-02-16 00:56:01       66 阅读
  3. leetcode笔记

    2024-02-16 00:56:01       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-16 00:56:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-16 00:56:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-16 00:56:01       87 阅读
  4. Python语言-面向对象

    2024-02-16 00:56:01       96 阅读

热门阅读

  1. 2024/2/15

    2024-02-16 00:56:01       51 阅读
  2. gorm day7

    2024-02-16 00:56:01       37 阅读
  3. 数据分析 — Pandas 分组聚合

    2024-02-16 00:56:01       46 阅读
  4. Codeforces Round 918 (Div. 4) 1

    2024-02-16 00:56:01       49 阅读
  5. C语言——oj刷题——回文字符串

    2024-02-16 00:56:01       48 阅读
  6. Integer.toHexString(b & 0xff)理解以及& 0xff什么意思

    2024-02-16 00:56:01       48 阅读
  7. 为什么USB要转TTL

    2024-02-16 00:56:01       59 阅读
  8. 项目中的任务调度和消息队列方案详解

    2024-02-16 00:56:01       44 阅读
  9. 类与对象 上

    2024-02-16 00:56:01       51 阅读