leetcode刷题(8.13总结)

2023-11-13

1、有效的括号

题目描述:https://leetcode.cn/problems/valid-parentheses/


class Solution:
    def isValid(self, s: str) -> bool:
        stack = []
        count = 0
        if len(s) % 2 != 0:
            return False
        for i in s:
            if i in "([{":
                stack.append(i)
                count = count +1
            else :
                if count:
                    a = stack.pop()
                    count = count - 1
                    if a  == '(':
                        if i != ')':
                            return False
                    elif a == '[':
                        if i != ']':
                            return False
                    else:
                        if i != '}':
                            return False
                else:
                    return False
        if count != 0:
            return False
        return True

2、合并两个有序链表

题目描述:https://leetcode.cn/problems/merge-two-sorted-lists/

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:
        #定义一个新node存放
        nlist = ListNode(0)
        #定义一个操作node
        cur = nlist
        while list1 or list2:
            cur.next = ListNode(0)
            cur = cur.next
            #如果两个都不为空,说明有数据
            if list1 and list2:
                #如果node2大于或等于node1,将node1放到新node里面,然后list1向后移动
                if list1.val <= list2.val:
                    cur.val = list1.val
                    list1 = list1.next
                #反之list2向后移动
                else:
                    cur.val = list2.val
                    list2 = list2.next
            else:
                #如果两个有一个为空,则直接移动不为空的那个list即可
                if list1:
                    cur.val = list1.val
                    list1 = list1.next
                if list2:
                    cur.val = list2.val
                    list2 = list2.next
        return nlist.next

3、删除有序数组中的重复项

题目描述:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/

class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        slow, fast = 0, 1
        while fast < len(nums):
            if nums[fast] != nums[slow]:
                slow = slow + 1
                nums[slow] = nums[fast]
            fast = fast + 1
        return slow + 1

4、移除元素

题目描述:https://leetcode.cn/problems/remove-element/

class Solution:
    def removeElement(self, nums: List[int], val: int) -> int:
        
        l, i = len(nums), 0

        while l > 0 and i < l:
            if nums[i] == val: 
                del nums[i]
                l -= 1
            else:
                i += 1

        return len(nums)

5、实现strStr()

题目描述:https://leetcode.cn/problems/implement-strstr/

class Solution:
    def strStr(self, haystack: str, needle: str) -> int:
        if not needle:
            return 0
        if len(haystack) < len(needle):
            return -1
        for i in range(len(haystack)):
            index = i
            for j in range(len(needle)):
                if len(haystack) - index < len(needle):
                    break
                if haystack[i] == needle[j]:
                    i+=1
                    if j == len(needle)-1:
                        return index
                    continue
                else:
                    break
        return -1

6、搜索插入位置

题目描述:https://leetcode.cn/problems/search-insert-position/

class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
        i,j=0,len(nums) - 1
        while i <= j:
            mid = (i + j) // 2
            if nums[mid] < target:
                i = mid + 1
            else:
                j = mid - 1
        return i

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

leetcode刷题(8.13总结) 的相关文章

  • 为什么 Python 在导入脚本时只保存脚本的字节码?

    既然执行Python字节码会比运行原始源代码更快 因为Python不需要重新编译 为什么Python在导入脚本时只保存编译后的字节码呢 为每个执行的脚本保存 pyc 文件不是更好吗 无论如何 Python 解释器的启动时间都需要时间 即使您
  • 如何(重新)命名 pandas 数据框中的空列标题而不导出到 csv

    我有一个熊猫数据框df1带有一个索引列和一系列未命名的值 我想为未命名的系列指定一个名称 到目前为止 我知道的唯一方法是导出到df1 csv using df1 to csv df1 csv header Signal 然后使用以下命令重新
  • str.translate 与 str.replace - 何时使用哪一个?

    何时以及为什么使用前者而不是后者 反之亦然 目前尚不完全清楚为什么有些人使用前者以及为什么有些人使用后者 它们有不同的目的 translate只能用任意字符串替换单个字符 但一次调用可以执行多次替换 它的参数是一个特殊的表 它将单个字符映射
  • 如何使用一个模型中间层的输出作为另一个模型的输入?

    我训练一个模型A并尝试使用中间层的输出name layer x 作为模型的附加输入B 我尝试像 Keras 文档一样使用中间层的输出https keras io getting started faq how can i obtain th
  • 为什么在访问 Python 对象属性时使用 getattr() 而不是 __dict__ ?

    在具有一定程度的 Python 对象自省的源代码示例和 SO 答案中 常见的模式是 getattr some object attribute name string 是否有理由优先选择这种模式 some object dict attri
  • 来自 pandas 数据帧的烛台图,用日期替换索引

    此代码给出了带有移动平均线的烛台图 但 x 轴位于索引中 我需要 x 轴位于日期中 需要做什么改变 import numpy as np import pandas as pd import matplotlib pyplot as plt
  • Matplotlib 图例,跨列添加项目而不是向下添加项目

    对于下面的简单绘图 有没有办法让 matplotlib 填充图例 以便它从左到右填充行 而不是第一列然后第二列 gt gt gt from pylab import gt gt gt x arange 2 pi 2 pi 0 1 gt gt
  • 无法在 virtualenv 中安装 libxml2

    我有一个问题libxml2蟒蛇模块 我正在尝试将其安装在python3 虚拟环境使用以下命令 pip install libxml2 python3 但它显示以下错误 Collecting libxml2 python3 Using cac
  • 查找正在导入哪些 python 模块

    从应用程序中使用的特定包中查找所有 python 模块的简单方法是什么 sys modules是将模块名称映射到模块的字典 您可以检查其键以查看导入的模块 See http docs python org library sys html
  • 使用pathlib获取主目录

    翻看新的pathlib在 Python 3 4 中 我注意到没有任何简单的方法来获取用户的主目录 我能想到的获取用户主目录的唯一方法是使用旧的os path像这样的库 import pathlib from os import path p
  • Python - Unicode 到 ASCII 的转换

    我无法在不丢失数据的情况下将以下 Unicode 转换为 ASCII u ABRA xc3O JOS xc9 I tried encode and decode他们不会这么做 有人有建议吗 Unicode 字符u xce0 and u xc
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上
  • 使用 subprocess.Popen() 或 subprocess.check_call() 时程序卡住

    我想从 python 运行一个程序并找到它的内存使用情况 为此 我正在使用 l a out lt in txt gt out txt p subprocess Popen l shell False stdout subprocess PI
  • 在请求中设置端口

    我正在尝试利用cgminer使用 Python 的 API 我对利用requests图书馆 我了解如何做基本的事情requests but cgminer想要更具体一点 我想缩小 import socket import json sock
  • 使用 if 语句的网格网格和用户定义函数的真值不明确

    假设我有一个函数f x y 足够光滑 然而 有些值仅在有限的意义上存在 以sin x x的价值x 0只存在于极限 x gt 0 中 在一般情况下 我用一个来处理这个问题if陈述 如果我在情节中使用它meshgrid我收到一条错误消息 Val
  • python Recipe:列出最接近等于值的项[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 考虑像这样的列表 0 3 7 10 12 15 19 21 我想获得最接近任何值的最近的最小数字 所以如果我通过4 我会得到3 如果我
  • 是否可以在Python中将日+月(不是年)与当前日+月进行比较?

    我正在获取 5 月 10 日 格式的数据 我试图弄清楚它是今年还是明年 该日期仅一年 因此 5 月 10 日表示 2015 年 5 月 10 日 而 5 月 20 日表示 2014 年 5 月 20 日 为此 我想将字符串转换为日期格式并进
  • 如何使用 enumerate 来倒数?

    letters a b c 假设这是我的清单 在哪里for i letter in enumerate letters 将会 0 a 1 b 2 c 我怎样才能让它向后枚举 如 2 a 1 b 0 c 这是一个很好的解决方案并且工作完美 i
  • 没有名为“turtle”的模块

    我正在学习并尝试用Python3制作贪吃蛇游戏 我正在进口海龟 我正在使用 Linux mint 19 PyCharm python37 python3 tk Traceback most recent call last File hom
  • 使用 MPI 的 Allreduce 对 Python 对象求和

    我正在使用使用 Python 中的字典和计数器构建的稀疏张量数组操作 我想让并行使用这个数组操作成为可能 最重要的是 我最终在每个节点上都有计数器 我想使用 MPI Allreduce 或另一个不错的解决方案 将其添加在一起 例如 使用计数

随机推荐

  • 100道Python基础入门练习题(附答案)

    我们都知道实践是检验真理的唯一标准 想知道自己学会了多少 不妨来做题检验一下吧 今天给大家分享的100道Python基础练习题 因为篇幅有限 先给大家准备了前10道例题 需要全部习题 这些知识部分习题 篇幅还是比较多的 这份完整版的Pyth
  • Linux下ffmpeg的卸载与安装

    ubuntu下比较容易安装会自动安装依赖 sudo add apt repository ppa kirillshkrogalev ffmpeg next sudo apt get update sudo apt get install f
  • FFmpeg av_interleaved_write_frame错误

    av interleaved write frame 1 av interleaved write frame 崩溃 检查 传入的AVPacket中的pts和dts AVFormatContext中的AVStream中的time base
  • 3分钟学会在C ++中以编程方式合并Excel工作表中的单元格

    合并和取消合并单元格是Microsoft Excel的一项简单且常用功能 合并单元格可能会在某些情况下很有用 例如 当工作表中有多个列共享相同的标题时 可以合并列上方的单元格以使其具有共同的标题 如果不再需要合并的单元格 则可以轻松地取消合
  • (五十一)时间序列分析二:平稳时间序列分析(ARMA)

    平稳时间序列 平稳时间序列分为严平稳时间序列与宽平稳时间序列 如果在一个时间序列中 各期数据的联合概零分布与时间 t 无关 则该序列为严平稳时间序列 实际中讨论的平稳时间序列是宽平稳时间序列 指对任意时间下 序列的均值 方差存在并为常数 且
  • 超声波模块详细介绍(stm32循迹小车中超声波的介绍)

    超声波模块详细介绍 stm32循迹小车中超声波的介绍 超声波模块是非常重要的一个模块 今天给大家全面介绍一下超声波模块的原理以及用法 代码的编写 1 超声波模块的认识 首先 市面上的常见超声波模块主要分为以下几种 HC SR04超音波模块
  • 你一无所有,你拥有一切

    你一无所有 你拥有一切 当看到这一篇文章标题的时候 会引起你怎样的共鸣呢 人总是需要从别处获得力量的 我想与更多的人分享 以此勉励我们自己 一 嘴上说说的人生 那年我在离家的时候一个劲地往自己的硬盘里塞 灌篮高手 我妈一副嗤之以鼻的表情看着
  • VMware16安装步骤与初步使用避免踩坑的安装教程

    VMware16安装步骤与初步使用避免踩坑的安装教程 一 软件介绍 VMware Workstation 中文名 威睿工作站 是一款功能强大的桌面虚拟计算机软件 提供用户可在单一的桌面上同时运行不同的操作系统 和进行开发 测试 部署新的应用
  • Fisco Bcos区块链三(WeBASE中间件平台一键部署)

    文章目录 区块链开荒 技术文档 https webasedoc readthedocs io zh CN latest index html 二 WeBASE一键部署 1 前提条件 1 检查环境 1 平台要求 2 检查Java 3 检查my
  • EfficientNet详解

    EfficientNets EfficientNets NAS neural architecture search Single Scaling Compound Scaling EfficientNet Rethinking Model
  • TheDAO被攻击事件考察报告

    作者 ChinaLedge联盟 段玺 Andy Dan 简介 北京时间2016年6月17日发生了在区块链历史上留下沉重一笔的攻击事件 由于 其编写的智能合约存在着重大缺陷 区块链业界最大的众筹项目TheDAO 被攻击前 拥有1亿美元左右资产
  • Android-Notes|BottomNavigationView-爱上-Lottie,android高级开发面试题

    复制代码 封装个 BasicData 存放 App 内置的一些基本数据 这里主要针对 Lottie 文件 val mNavigationAnimationList arrayListOf LottieAnimation HOME Lotti
  • ORA-16009 remote archive log destination must be a STANDBY database

    ORA 16009错误处理 问题描述 主备在做Switchover切换时 在切换后的备库报如下错误 Wed Jul 22 04 49 02 2015 Errors in file u01 app oracle admin orcl bdum
  • 监控告警02--夜莺飞书告警-v4版本

    监控告警02 夜莺飞书告警 v4版本 1 介绍 2 方法 2 1 源码改动 2 2 测试效果 3 说明 1 介绍 v4版本的夜莺集成了shell api wechat wechat robot dingtalk robot 等5中常见的告警
  • docker环境下部署zabbix

    docker环境下部署zabbix 注 安装时出现的问题及解决办法在最下面 docker zabbix 使用docker搭建zabbix服务 Zabbix 介绍 zabbix 音同 z bix 是一个基于WEB界面的提供分布式系统监视以及网
  • OpenGL学习之创建天空盒

    本文主要参考了立方体贴图的基本原理 首先回顾一下什么是立方体贴图 将多个纹理组合起来映射到一个单一纹理 就是立方体贴图 Cube Map 基本上说立方体贴图它包含6个2D纹理 这每个2D纹理是一个立方体 cube 的一个面 也就是说它是一个
  • go+vue自建运维管理平台

    文章目录 鲁班运维平台 容器管理 集群管理 namespace管理 节点管理 工作负载 存储管理 网络管理 配置管理 事件中心 kuboard 鲁班运维平台 这个平台和spug很像 感觉就像是spug运维平台的容器版本 但是如果是容器平台则
  • js基础——运算符

    一 判断一个变量是否为数值 使用 isNaN 判断一个变量是不是数值 is not a number 语法 isNaN x 作用 检测x是否是非数字 是非数字结果是true 不是非数字结果是false 即数字返回为false 不是数字返回为
  • Bad owner or permissions on C:\\Users\\USER/.ssh/config on Windows

    Bad owner or permissions on C Users USER ssh config 问题描述 由于使用vscode远程连接服务器突然新增了C Users USER ssh config 再powershell cmd下面
  • leetcode刷题(8.13总结)

    1 有效的括号 题目描述 https leetcode cn problems valid parentheses class Solution def isValid self s str gt bool stack count 0 if