今日学习计划(2025年3月9日 周日)

目标:补全昨日任务 + 推进视频学习

一、LeetCode第20题

  • 题目:力扣第20题《有效的括号》(题目链接)。

  • def is_valid(s: str) -> bool:
        # 定义函数is_valid,接收字符串s作为参数,返回值类型为bool
        # 函数功能:判断括号字符串s是否有效
        stack=[]
        # 初始化一个空列表stack,模拟栈结构
        bracket_map={')':'(', '}':'{', ']':'['}
        #创建字典,{'键':'值'}
        for char in s:
             # 遍历输入字符串s中的每一个字符char
            if char in bracket_map.values():
                 # 判断当前字符char是否属于左括号(即是否在bracket_map的值中)
                # 因为bracket_map.values()包含'(', '{', '['三种左括号
                stack.append(char)
                # 如果是左括号,将其压入栈stack中
            else:   # 如果当前字符char不是左括号,则必然是右括号(题目限定只含六种括号)
                if not stack or stack.pop()!=bracket_map[char]:
                    # 检查两种不匹配情况:
                    # 1. not stack:栈为空,说明没有左括号可匹配当前右括号
                    # 2. stack.pop() != bracket_map[char]:弹出栈顶元素(最近的左括号),检查是否与当前右括号匹配
                    #    例如:当前右括号是')',对应的左括号应为'(', 若栈顶不是'('则不匹配
                    return False
        return not stack
        # 遍历完所有字符后,检查栈是否为空:
        # 如果栈为空(not stack为True),说明所有左括号都被正确匹配,返回True
        # 如果栈不为空,说明有未匹配的左括号,返回False
    s=input()
    print(is_valid(s))

    核心思路:

  • 定义一个栈,遍历字符串s,遇到左括号就进栈,遇到右括号就弹出栈顶元素,看是否匹配;如果不匹配或者栈空则返回False,只有当最后栈为空才返回True。

二、视频学习

李宏毅机器学习系列课程1、2

【2025版】2、 下 深度学习基本概念简介_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值