力扣71~75题

devtools/2024/10/23 22:55:26/

题71(中等):

python代码:

class Solution:def simplifyPath(self, path: str) -> str:#首先根据/分割字符串,再使用栈来遍历存储p_list=path.split('/')p_stack=[]for i in p_list:#如果为空则肯定是//或者///if i=='':continue      #如果为..则s_stack要退一个if i=='..':if p_stack!=[]:p_stack.pop()continue#如果为.则取当前目录(即为无事发生)if i=='.':continuep_stack.append(i)return '/'+'/'.join(p_stack)

题72(中等):

python代码:

class Solution:def minDistance(self, word1: str, word2: str) -> int:#我感觉要使用动态规划m=len(word1)n=len(word2)dp=[[0]*(n+1) for _ in range(m+1)]for i in range(m+1):for j in range(n+1):if i==0:dp[i][j]=jelif j==0:dp[i][j]=ifor i in range(1,m+1):for j in range(1,n+1):if word1[i-1]==word2[j-1]:dp[i][j]=dp[i-1][j-1]else:dp[i][j]=min(dp[i-1][j],dp[i-1][j-1],dp[i][j-1])+1return dp[-1][-1]

题73(中等):

python代码:

class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""#先找0在设置row=set()col=set()m=len(matrix)if m==0:returnn=len(matrix[0])if n==0:returnfor i in range(m):for j in range(n):if matrix[i][j]==0:col.add(j)row.add(i)for i in list(row):for j in range(n):matrix[i][j]=0for i in range(m):for j in list(col):matrix[i][j]=0

题74(中等):

python代码

class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:#和每一行最后一个比,如果大于它就肯定在该行或者不存在,小于就往下看m=len(matrix)if m==0:return Falsen=len(matrix[0])if n==0:return Falsefor i in range(m):if target<matrix[i][n-1]:return target in matrix[i]elif target==matrix[i][n-1]:return Trueelse:continuereturn False

题75(中等):

分析:

这题我一开始是想双指针,但是中间的1很麻烦就放弃,用了最朴素的统计0,1,2数量方法,但是后面我学到了使用3指针,

class Solution:def sortColors(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""#学到一个3指针法p0,p1,p2=0,0,len(nums)-1while p1<=p2:if nums[p1]==0:#如果0在中间,就往边上丢,p0与p1之间一定是1,所以换来p1也加1nums[p0],nums[p1]=nums[p1],nums[p0]p1+=1p0+=1elif nums[p1]==2:nums[p1],nums[p2]=nums[p2],nums[p1]p2-=1elif nums[p1]==1:p1+=1

http://www.ppmy.cn/devtools/128282.html

相关文章

计算机网络自顶向下(3)---TCPsocket

1.TCPsocket TCPsocket是指使用传输控制协议&#xff08;TCP&#xff09;的网络套接字。套接字是网络中两台计算机之间进行通信的端点。TCP是一种可靠的、面向连接的协议&#xff0c;提供了错误检测、流量控制和拥塞控制等功能。 TCPsocket通常用于客户端-服务器通信&#xff0…

【软件测试】理论杂记 + Selenium

文章目录 测试用例万能公式基于测试对象黑盒测试方法 白盒测试Selenium选择器CSS选择器XPath选择器 等待常用API浏览器操作 测试用例万能公式 功能&#xff0c;界面&#xff0c;易用&#xff0c;兼容&#xff0c;安全&#xff0c;性能&#xff0c;网络 基于测试对象 界面测试…

Greiner 经典力学(多体系统和哈密顿力学) 第十章 学习笔记

第十章 学习笔记 &#xff08;The Virbrating Membrane&#xff09; 这一章研究的是一个薄膜的振动问题。基本假设条件与上一章类似。 首先是振动幅度很小。 薄膜的张力 T 认为是恒定的。 类似弦振动问题推导&#xff0c;将其推广到二维平面上&#xff0c;就可以得到膜的振…

RAPIDS cuDF pandas

使用 RAPIDS cuDF pandas 加速器模式处理 10 亿行数据 文章目录 前言一、使用 RAPIDS cuDF pandas 加速器模式进行数据处理二、RAPIDS cuDF pandas 加速器模式下的新大型数据处理功能 24.081. 大字符串支持2. 带预提取的托管内存池三、使用 NVIDIA GPU 运行一亿行挑战赛1. NVID…

用Java爬虫API,轻松获取电商商品SKU信息

在电子商务的精细化运营时代&#xff0c;SKU信息的重要性不言而喻。SKU&#xff08;Stock Keeping Unit&#xff09;信息不仅包含了商品的规格、价格、库存等关键数据&#xff0c;还直接影响到库存管理、价格策略和市场分析等多个方面。如何高效、准确地获取这些信息&#xff0…

万能接口PCIE

一、PCIE插槽的崛起 随着计算机技术的飞速发展&#xff0c;主板上的扩展插槽也在不断演进。PCIE插槽&#xff0c;作为新一代的高速串行扩展总线标准&#xff0c;已经逐渐取代了早期的PCI和AGP插槽&#xff0c;成为现代主板上的主流扩展接口。 二、PCIE插槽的特性 高速串行传…

vue3中使用element-plus的组件,编辑器检查警告爆红找不到名称相关的element组件

1.首先是使用elementPlus的自动导入 在vite.config.js中配置 import { defineConfig } from "vite"; import path from path import AutoImport from "unplugin-auto-import/vite"; import Components from "unplugin-vue-components/vite"; imp…

【Python知识】一个强大的数据分析库Pandas

文章目录 Pandas概述1. 安装 Pandas2. 基本数据结构3. 数据导入和导出4. 数据清洗5. 数据选择和过滤6. 数据聚合和摘要7. 数据合并和连接8. 数据透视表9. 时间序列分析10. 数据可视化 &#x1f4c8; 如何使用 Pandas 进行复杂的数据分析&#xff1f;1. 数据预处理2. 处理缺失值…