力扣61~65题
题61(中等):

分析:
python代码:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:def rotateRight(self, head: Optional[ListNode], k: int) -> Optional[ListNode]:#利用空间复杂度解决,将链表装进列表node_list=[]p=headwhile p!=None:node_list.append(p)p=p.nextnode_len=len(node_list)if node_len==0:return headk_new=k%node_lenif k_new==0:return headnode_list[-1].next=node_list[0]head=node_list[-k_new]node_list[-(k_new+1)].next=Nonereturn head
题62(中等):

分析:
python代码:
class Solution:def uniquePaths(self, m: int, n: int) -> int:#思路就是动态数组嘛auto_list=[[1 for j in range(n)] for i in range(m)]for i in range(1,m):for j in range(1,n):a1,a2=0,0if i-1>=0:a1=auto_list[i-1][j]if j-1>=0:a2=auto_list[i][j-1]auto_list[i][j]=a1+a2return auto_list[-1][-1]
题63(中等):

分析
会这个差不多可以制作迷宫小游戏了
python代码:
class Solution:def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:#动态数组,和上一题差不多#构造动态数组,obstacleGrid中有障碍为设置为0,没有设置为1auto_list=[[0 for i in range(len(obstacleGrid[0]))] for j in range(len(obstacleGrid))]for i in range(len(obstacleGrid)):for j in range(len(obstacleGrid[0])):if obstacleGrid[i][j]==0:auto_list[i][j]=1else:auto_list[i][j]=0#设置动态数组的值for i in range(len(obstacleGrid)):for j in range(len(obstacleGrid[0])):#第一个位置必须是0if i==0 and j==0:continueif auto_list[i][j]==0:continuea1,a2=0,0if i-1>=0:a1=auto_list[i-1][j]if j-1>=0:a2=auto_list[i][j-1]auto_list[i][j]=a1+a2return auto_list[-1][-1]
题64(中等):
分析:
python代码:
class Solution:def minPathSum(self, grid: List[List[int]]) -> int:#动态规划,本质上和前面的题目是一样的auto_list=grid.copy()for i in range(len(auto_list)):for j in range(len(auto_list[0])):if i==0 and j==0:#第一个就跳过就好了continueif i-1<0:auto_list[i][j]+=auto_list[i][j-1]continueif j-1<0:auto_list[i][j]+=auto_list[i-1][j]continueauto_list[i][j]+=min(auto_list[i-1][j],auto_list[i][j-1])return auto_list[-1][-1]
题65(困难):

分析:
不得不说,这个有效数字判定规则很诡异,不过难度真不配困难
python代码:
class Solution:def isNumber(self, s: str) -> bool:s_stack=[]dot_flag=0sign_flag=0e_flag=0for i in s:#如果为数字if i in ('0','1','2','3','4','5','6','7','8','9'):if dot_flag==1:dot_flag=0if e_flag==1:e_flag=0if sign_flag==1:sign_flag=0s_stack.append(i)#如果为.elif i=='.':if s_stack==[] or s_stack==['+'] or s_stack==['-']:dot_flag=1if '.' in s_stack:return Falseif ('e' in s_stack) or ('E' in s_stack):return Falses_stack.append('.')#如果为+-elif i=='+' or i=='-':#如果不是空或者前面不是e就0if s_stack==[]:sign_flag=1s_stack.append(i)elif s_stack[-1]=='e' or s_stack[-1]=='E':s_stack.append(i)else:return False#如果为e或者Eelif i=='e' or i=='E':print(s_stack)e_flag=1if 'e' in s_stack or 'E' in s_stack:return Falseif s_stack==[] or s_stack==['+'] or s_stack==['-']:return Falseif s_stack==['.'] or s_stack==['+','.'] or s_stack==['-','.']:return Falses_stack.append(i)else:return Falseif dot_flag==1:return Falseif e_flag==1:return Falseif sign_flag==1:return Falsereturn True
相关文章:
力扣61~65题
题61(中等): 分析: python代码: # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def rot…...
API接口开发流程与指南
API(应用程序编程接口)是现代软件开发中不可或缺的一部分,它允许不同的软件应用之间进行交互和数据交换。无论是调用第三方服务、集成内部系统还是开发微服务架构,API都扮演着关键角色。本文将为你提供一个API接口入门的详解&…...
如何在Android中进行日志打印和调试?
在Android开发中,日志打印和调试是开发者定位问题、优化性能和提升应用质量的重要手段。以下将详细阐述如何在Android中进行日志打印和调试,包括日志工具的使用、调试技巧以及实践中的最佳实践。 一、日志工具的使用 1. Log类 Android中的日志工具类是…...
Linux基本使用和程序部署
文章目录 一. Linux背景Linux发行版 二. Linux环境搭建Linux常见命令lspwdcdtouchcatmkdirrmcpmvtailvimgreppsnetstat管道 三. 搭建java部署环境安装jdk安装mysql部署Web项目到Linux 一. Linux背景 1969−1970年,⻉尔实验室的DennisRitchie和KenTompson开发了Unix操作系统. 他…...
照片编辑成动态视频用什么软件好
在数字时代,让照片动起来确实已成为一种流行的潮流和趋势。如今,市面上涌现出众多软件,它们不仅配备了丰富多样的动态效果和特效,还支持用户进行个性化的编辑和创作。无论你是希望将家庭合影转化为充满温情的动画,还是…...
JavaWeb合集-SpringBoot项目配套知识
四、SpringBoot项目配套知识 1、Springboot项目的创建 2、HTTP 概念: Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 2.1 request 请求协议 浏览器向服务器发送请求的规则(get、post等)。 2.1.1 请…...
Electron入门笔记
Electron入门笔记 ElectronElectron 是什么Electron流程模型创建第一个Electron项目配置自动重启主进程和渲染进程通信打包应用 Electron Electron 是什么 跨平台的桌面应用开发框架使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium和 Node.js Electro…...
python 不相交集简介(并查集算法)【Introduction to Disjoint Set (Union-Find Algorithm)】
什么是不相交集数据结构? 如果两个集合没有任何共同元素,则它们被称为不相交集,集合的交集为空集。 存储不重叠或不相交元素子集的数据结构称为不相交集合数据结构。不相交集合数据结构支持以下操作: 1、将新集合添加到不相交集合…...
23种设计模式之工厂方法模式
文章目录 1. 简介2. 代码2.1 抽象类:Course.java2.2 产品A:JavaCourse.java2.3 产品B:PythonCourse.java2.4 工厂抽象类:CourseFactory.java2.5 产品A的工厂A:JavaCourseFactory.java2.6 产品B的工厂B:PyCo…...
Redis——事务
文章目录 Redis 事务Redis 的事务和 MySQL 事务的区别:事务操作MULTIEXECDISCARDWATCHUNWATCHwatch的实现原理 总结 Redis 事务 什么是事务 Redis 的事务和 MySQL 的事务 概念上是类似的. 都是把⼀系列操作绑定成⼀组. 让这⼀组能够批量执行 Redis 的事务和 MySQL 事务的区别:…...
Redis非关系型数据库操作命令大全
以下是 Redis 的常用操作命令大全,涵盖了键值操作、字符串、哈希、列表、集合、有序集合、发布/订阅、事务等多个方面的操作。 1. 通用键命令 命令说明SET key value设置指定 key 的值GET key获取指定 key 的值DEL key删除指定的 keyEXISTS key检查 key 是否存在E…...
基于SpringBoot+Vue+uniapp微信小程序的澡堂预订的微信小程序的详细设计和实现
项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…...
Linux mips架构链接库函数调用plt表汇编代码分析
linux调用共享库中的函数时通过plt表和got表实现位置无关代码,过程中涉及到lazy binding,即在第一调用外部函数时解析被调用的函数地址并将地址写入到got表,后续调用则不需要解析函数地址。这一部分和硬件架构有关,具体的是和cpu指…...
python 作业1
任务1: python为主的工作是很少的 学习的python的优势在于制作工具,制作合适的工具可以提高我们在工作中的工作效率的工具 提高我们的竞争优势。 任务2: 不换行 换行 任务3: 安装pycharm 进入相应网站Download PyCharm: The Python IDE for data science and we…...
Apache 出现 “403 forbidden“ 排查方法
1、检查运行 Apache 进程的用户没有对目录具备读取权限 如果该用户没有对 Directory 指定的目录具备适当的读取权限,就会导致 403 错误。 例如:使用用户apache启动Apache进程,但是apache用户对 Directory 指定的目录没有读取权限 2、检查…...
vue video播放m3u8监控视频
很关键的问题 vite创建的项目不需要import ‘videojs-contrib-hls’ 导入就报错 直接添加如下代码即可 html5: {vhs: {overrideNative: true},nativeVideoTracks: false,nativeAudioTracks: false,nativeTextTracks: false} 下面是完整组件示例 <template><div>…...
uniapp 获取签名证书 SHA1 自有证书签名打包
1.登录你的Dcloud 账户 2.找到我的应用菜单 3.点开某个应用 4.查看证书详情,里面有SHA1 和别名,密码,下载证书用于云打包,可以选择自有证书,输入别名,密码打包...
Open3d开发点云标注工具问题总结(二)
前面我们介绍了使用AABB方式来框选点云,但这种方式还是不够直观,我们的构想是设计一个和o3d.visualization.VisualizerWithEditing的点云框选方法一样的软件,因此,博主想到利用投影的形式进行解决: 具体的,…...
【FreeRTOS】
报错: 使用STM32cubemx自动生成freertos选项V2报错,V1不报错 …/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/freertos_os2.h(31): 解决 修改cubemx配置,将V1.8.6改选为V1.8.5后编译不再报错...
洛谷 P4995:跳跳! ← 贪心算法
【题目来源】https://www.luogu.com.cn/problem/P4995【题目描述】你是一只小跳蛙,你特别擅长在各种地方跳来跳去。 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 i 块的石头高度为 hi,地…...
如何永久保存微信聊天记录并生成个人数据报告?WeChatMsg让数据掌握在自己手中
如何永久保存微信聊天记录并生成个人数据报告?WeChatMsg让数据掌握在自己手中 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/Gi…...
基于Python的情绪识别模型:从原理到实践
摘要情绪识别作为自然语言处理(NLP)领域的重要分支,在人机交互、社交媒体分析、客户服务等场景中具有广泛应用。本文系统介绍基于Python的情绪识别模型构建方法,涵盖数据预处理、特征提取、模型选择、训练评估及部署应用等关键环节…...
PowerToys MeasureTool:让屏幕测量变得如此简单,设计师必备的免费神器
PowerToys MeasureTool:让屏幕测量变得如此简单,设计师必备的免费神器 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/Gi…...
CogVideoX-2b效果探索:极端提示词下的边界测试
CogVideoX-2b效果探索:极端提示词下的边界测试 1. 引言:当文字遇见视频魔法 你有没有想过,用几句话就能拍出一部微电影?输入一段文字描述,几分钟后就能得到一段动态视频,这听起来像是科幻电影里的场景&am…...
网络爬虫是自动从互联网上采集数据的程序网络爬虫是自动从互联网上采集数据的程序,Python凭借其丰富的库生态系统和简洁语法,成为了爬虫开发的首选语言。本文将全面介绍
网络爬虫是自动从互联网上采集数据的程序网络爬虫是自动从互联网上采集数据的程序,Python凭借其丰富的库生态系统和简洁语法,成为了爬虫开发的首选语言。本文将全面介绍如何使用Python构建高效、合规的网络爬虫。一、爬虫基础与工作原理 网络爬虫本质上是…...
秒杀系统设计:十万QPS下的技术架构演进
在电商大促场景中,秒杀系统是典型的高并发、低库存业务模型,其核心挑战在于瞬时十万级QPS(每秒查询率)下的系统稳定性与数据一致性。对于软件测试从业者而言,这不仅涉及性能压测的极限挑战,更需关注架构演进…...
如何让旧款Mac重获新生:OpenCore Legacy Patcher的系统延续方案
如何让旧款Mac重获新生:OpenCore Legacy Patcher的系统延续方案 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当你面对一台性能尚可但被苹果官方…...
Skills 编写学习凰
简介 AI Agent 不仅仅是一个能聊天的机器人(如普通的 ChatGPT),而是一个能够感知环境、进行推理、自主决策并调用工具来完成特定任务的智能系统,更够完成更为复杂的AI场景需求。 AI Agent 功能 根据查阅的资料,agent的…...
第2篇 | 分层架构的真相:为什么AUTOSAR不是“标准答案”,而是“解题框架”?
初学者常问:“AUTOSAR的分层架构是不是最优的?”这个问题的陷阱在于——它把架构当成了答案,而不是解题的框架。 分层解耦的代价:一个性能开销的真实案例 某动力总成项目中,工程师需要在两个SWC之间传递一个32字节的扭…...
从「投稿难」到「录用快」:Paperxie 期刊论文智能写作,解锁学术发表新效率
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/期刊论文https://www.paperxie.cn/ai/journalArticleshttps://www.paperxie.cn/ai/journalArticles 引言:学术发表的「拦路虎」,AI 正在重构发表逻辑 对于科研人而言,期…...
