当前位置: 首页 > news >正文

Python每日一练(20230308)

目录

1. Excel表列名称  ★

2. 同构字符串  ★★

3. 分割回文串 II  ★★★

🌟 每日一练刷题专栏

C/C++ 每日一练 ​专栏

Python 每日一练 专栏


1. Excel表列名称

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

例如:

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

输入:columnNumber = 1
输出:"A"

示例 2:

输入:columnNumber = 28
输出:"AB"

示例 3:

输入:columnNumber = 701
输出:"ZY"

示例 4:

输入:columnNumber = 2147483647
输出:"FXSHRXW"

提示:

  • 1 <= columnNumber <= 2^31 - 1

代码:

class Solution(object):def convertToTitle(self, n):""":type n: int:rtype: str"""d = {}r = []a = ""for i in range(1, 27):d[i] = chr(64 + i)if n <= 26:return d[n]if n % 26 == 0:n = n / 26 - 1a = "Z"while n > 26:s = n % 26n = n // 26r.append(s)result = d[n]for i in r[::-1]:result += d[i]return result + a# %%
s = Solution()
print(s.convertToTitle(1))
print(s.convertToTitle(28))
print(s.convertToTitle(701))
print(s.convertToTitle(2147483647))

输出:

A
AB
ZY
FXSHRXW


2. 同构字符串

给定两个字符串 和 t,判断它们是否是同构的。

如果 中的字符可以按某种映射关系替换得到 ,那么这两个字符串是同构的。

每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。

示例 1:

输入:s = "egg", t = "add"
输出:true

示例 2:

输入:s = "foo", t = "bar"
输出:false

示例 3:

输入:s = "paper", t = "title"
输出:true

提示:

  • 可以假设 和 长度相同。

代码:

class Solution(object):def isIsomorphic(self, s, t):""":type s: str:type t: str:rtype: bool"""if len(s) != len(t):return Falseif len(s) == None or len(s) < 2:return Truesmap = {}for i in range(len(s)):if s[i] not in smap and t[i] in smap.values():return Falseif s[i] in smap and smap[s[i]] != t[i]:return Falsesmap[s[i]] = t[i]return True# %%
s = Solution()
print(s.isIsomorphic(s = "egg", t = "add"))
print(s.isIsomorphic(s = "foo", t = "bar"))
print(s.isIsomorphic(s = "paper", t = "title"))

输出:

True
False
True


3. 分割回文串 II

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。

返回符合要求的 最少分割次数 。

示例 1:

输入:s = "aab"
输出:1
解释:只需一次分割就可将 s 分割成 ["aa","b"] 这样两个回文子串。

示例 2:

输入:s = "a"
输出:0

示例 3:

输入:s = "ab"
输出:1

提示:

  • 1 <= s.length <= 2000
  • s 仅由小写英文字母组成

代码:

class Solution:def minCut(self, s):size = len(s)is_palindrome = [[False] * size for _ in range(size)]for r in range(size):for l in range(r, -1, -1):if s[l] == s[r] and (r - l <= 2 or is_palindrome[l + 1][r - 1]):is_palindrome[l][r] = Truedp = [i for i in range(size)]for i in range(1, size):if is_palindrome[0][i]:dp[i] = 0else:dp[i] = min(dp[j] + 1 for j in range(i) if is_palindrome[j + 1][i])return dp[-1]# %%
s = Solution()
print(s.minCut(s = "aab"))
print(s.minCut(s = "a"))
print(s.minCut(s = "ab"))

输出:

1
0
1


其它做法:

class Solution(object):
    def minCut(self, s):
        n = len(s)
        dp = [n] * n
        for i in range(n):
            if s[0: i + 1] == s[0: i + 1][::-1]:
                dp[i] = 0
                continue
            for j in range(i):
                if s[j + 1: i + 1] == s[j + 1: i + 1][::-1]:
                    dp[i] = min(dp[i], dp[j] + 1)
        return dp[n - 1]


🌟 每日一练刷题专栏

✨ 持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

 收藏,你的青睐是我努力的方向! 

✏️ 评论,你的意见是我进步的财富!  

C/C++ 每日一练 ​专栏

Python 每日一练 专栏

相关文章:

Python每日一练(20230308)

目录 1. Excel表列名称 ★ 2. 同构字符串 ★★ 3. 分割回文串 II ★★★ &#x1f31f; 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 专栏 1. Excel表列名称 给你一个整数 columnNumber &#xff0c;返回它在 Excel 表中相对应的列名称。 例如&#xff1…...

jvm之堆解读

堆&#xff08;Heap&#xff09;的核心概述 堆针对一个JVM进程来说是唯一的&#xff0c;也就是一个进程只有一个JVM&#xff0c;但是进程包含多个线程&#xff0c;他们是共享同一堆空间的。 一个JVM实例只存在一个堆内存&#xff0c;堆也是Java内存管理的核心区域。 Java堆区…...

重构·改善既有代码的设计.02

前言之前在《重构改善既有代码的设计.01》中初步了解了重构的基本前提&#xff0c;基础原则等入门知识。今天我们继续第二更......识别代码的坏味道Duplicated Code 重复代码。最单纯的Duplicated Code就是“同一个类中含有相同的表达式”或“两个互为兄弟的子类内含有相同表达…...

脑电信号处理总成

目录一. EEG(脑电图)1.1 脑波1.2 伪迹1.2.1 眼动伪迹1.2.2 肌电伪迹1.2.3 运动伪迹1.2.4 心电伪迹1.2.5 血管波伪迹1.2.6 50Hz和静电干扰1.3 伪迹去除方法1.3.1 避免伪迹产生法1.3.2 直接移除法1.3.3 伪迹消除法一. EEG(脑电图) 1.1 脑波 脑波&#xff08;英语&#xff1a;br…...

判断推理之图形推理

考点一动态位置变化&#xff08;一&#xff09;平移1.特征&#xff1a;图形在平面上的移动&#xff0c;图形本身的大小和形状不发生改变。2.方向&#xff1a;直线&#xff08;上下、左右、斜对角线&#xff09;&#xff0c;绕圈&#xff08;顺时针、逆时针&#xff09;3.距离&a…...

【预告】ORACLE Unifier v22.12 虚拟机发布

引言 离ORACLE Primavera Unifier 最新系统 v22.12已过去了3个多月&#xff0c;应盆友需要&#xff0c;也为方便大家体验&#xff0c;我近日将构建最新的Unifier的虚拟环境&#xff0c;届时将分享给大家&#xff0c;最终可通过VMWare vsphere (esxi) / workstation 或Oracle …...

Sql执行流程与Redo log、 Undo log、 Bin log日志文件

文章目录Sql执行流程与日志文件Sql的执行流程Redo LogBin logUndo logSql执行流程与日志文件 Sql的执行流程 mysql的内部组件结构如下图所示 连接器 与客户端建立连接&#xff0c;检验登录密码&#xff0c;分配相应权限 查询缓存 执行sql语句时会先从这里找一下&#xff0c;…...

如何提高软件测试执行力

高效的测试执行力 不管在哪个行业&#xff0c;高校的执行力都是不可或缺的。在软件测试行业更是这样。有些测试人员&#xff0c;很勤奋也很吃苦&#xff0c;但是可能最终不能很好的完成测试任务。究其原因就是一个测试执行力的问题。 高效执行就是有目标&#xff0c;有计划&…...

Open3D 计算点到平面的距离

目录 一、算法原理二、代码实现三、结果展示一、算法原理 平面外一点 ( x 1 , y 1 , z 1 ) (x_1,y_1,z_1) (x...

DDD领域驱动设计初探

DDD 强调领域模型要兼顾业务和技术两个视角。 我们怎么用一套系统化的方法&#xff0c;抽丝剥茧、一步一步地把需求落实到代码呢&#xff1f;咱们看看下面这张图&#xff0c;它表示了领域驱动设计中的主要流程。 领域驱动设计主要的开发流程你可以看到&#xff0c;在整个开发流…...

C中AES_cbc_encrypt加密对应java中的解密

前言知识&#xff1a; 1.AES&#xff08;Advanced Encryption Standard&#xff09;高级加密标准&#xff0c;作为分组密码&#xff08;把明文分成一组一组的&#xff0c;每组长度相等&#xff0c;每次加密一组数据&#xff0c;直到加密完整个明文&#xff09;。 2.在AES标准…...

演化算法:乌鸦搜索算法 (Crow Search Algorithm)

前言 如果你对这篇文章感兴趣&#xff0c;可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」&#xff0c;查看完整博客分类与对应链接。 在机器学习中&#xff0c;我们所要优化的问题很多时候难以求导&#xff0c;因此通常会采用一些演化算法&#xff08;又称零…...

基于open62541的OPC UA服务器和客户端开发技术

一、OPC UA的基本概念 1、OPC(OLE for Process Control),是一个工业标准,管理这个标准的国际组织是OPC基金会; 2、OPC通信结构:是指包含一个或多个OPC客户端与服务器相互通信的集合。以下是一个简单的流程图:标准的C/S结构。 3、OPC服务器:TOPC基金会定义了四种;...

测试测开面试要知道的那些事01

列表与元组的区别列表是动态数组&#xff0c;它们可变且可以重设长度&#xff08;改变其内部元素的个数&#xff09;。元组是静态数组&#xff0c;它们不可变&#xff0c;且其内部数据一旦创建便无法改变。元组缓存于Python运行时环境&#xff0c;这意味着我们每次使用元组时无…...

物联网毕设 -- 智能厨房监测系统(改)

前言 在家庭生活中&#xff0c;厨房是必不可少的&#xff0c;所以厨房的安全问题关乎着我们大家的生命&#xff0c;所以提出智能厨房监测系统&#xff0c;目的就是为我们减少不必要的安全问题 ⚠️⚠️&#xff08;本文章仅提供思路和实现方法&#xff0c;并不包含代码&#x…...

macOS 13.3 Beta 3 (22E5236f)发布

系统介绍3 月 8 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 13.3 开发者预览版 Beta 3 更新&#xff08;内部版本号&#xff1a;22E5236f&#xff09;&#xff0c;本次更新距离上次发布隔了 7 天。macOS Ventura 带来了台前调度、连续互通相机、FaceTime 通话接力…...

Failed to configure a DataSource: ‘url‘ attribute

一 完整的错误信息 *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured. Reason: Failed to dete…...

Mysql高级——锁

锁 mysql锁的分类 从性能上分为&#xff1a;乐观锁、悲观锁从锁的粒度上分&#xff1a;行锁、间隙锁、页锁、悲观锁从对数据库的操作分类&#xff1a;读锁、写锁 乐观锁需要我们自己通过version字段来实现&#xff0c;如果更新失败则在代码中进行where重试。而我们常见的读锁…...

Spring的Async注解线程池扩展方案

目录- [Spring的Async注解线程池扩展方案]- [目录]- [1. 扩展目的]- [2. 扩展实现]- [2.1 扩展Async注解的执行拦截器AnnotationAsyncExecutionInterceptor]- [2.2 扩展Async注解的Spring代理顾问AsyncAnnotationAdvisor]- [2.3 扩展Async注解的 Spring Bean 后置处理器AsyncAn…...

wfb-ng 锁定WiFi接口

wfb-ng 锁定WiFi接口1. 源由2. 需求3. 分析4. 步骤4.1 确认网卡MAC地址4.2 修改udev配置文件4.3 配置重载&重启4.4 确认逻辑网卡接口4.6 修改wfb-ng逻辑WiFi通信接口5. 参考资料6. 补充资料为了更加方便的调试和使用wfb-ng软件&#xff0c;解决由于设备枚举发现时命名可能存…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

2.3 物理层设备

在这个视频中&#xff0c;我们要学习工作在物理层的两种网络设备&#xff0c;分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间&#xff0c;需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质&#xff0c;假设A节点要给…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解&#xff1a;从决策树开始理解三、解法一&#xff1a;二叉决策树 DFS四、解法二&#xff1a;组合式回溯写法&#xff08;推荐&#xff09;五、解法对比 递归算法是编程中一种非常强大且常见的思想&#xff0c;它能够优雅地解决很多复杂的…...

WEB3全栈开发——面试专业技能点P4数据库

一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库&#xff0c;基于 mysql 库改进而来&#xff0c;具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点&#xff1a; 支持 Promise / async-await&#xf…...

路由基础-路由表

本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中&#xff0c;往往存在多个不同的IP网段&#xff0c;数据在不同的IP网段之间交互是需要借助三层设备的&#xff0c;这些设备具备路由能力&#xff0c;能够实现数据的跨网段转发。 路由是数据通信网络中最基…...

Java多线程实现之Runnable接口深度解析

Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...