算法设计大赛T1 - T4
前面几道题目比较简单,故这里将部分题目写在一个blog下
T1:实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。
解题思路:
嗯…这题有啥解题思路啊…直接调用python中index方法,可返回字符或字符串在另一字符串中第一次出现的位置,使用if 判断needle是否在haystack中,若不在就返回-1(其实用try也没啥问题)
# 使用if判断
class Solution:def strStr(self, haystack: str, needle: str) -> int:if needle in haystack:return haystack.index(needle)else:return -1
#使用try判断,防止报错
class Solution:def strStr(self, haystack: str, needle: str) -> int:try:return haystack.index(needle)except:return -1
运行结果
T2 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
思路:
用split方法将字符分割为纯字符串以及空,找到最后一个非空的字符串,返回其长度
class Solution:def lengthOfLastWord(self, s: str) -> int:s = s.split(' ')i = len(s)-1while s[i] == "":i -= 1return len(s[i])
运行结果
T3 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
思路:若为简单的求回文数的问题,python中只需要求s[::-1] 是否等于s即可,但本题中我们要求的是带有特殊字符的s,且特殊字符不在统计范围内,故需要将特殊字符从s中移除,或可将s中非特殊字符转移到其他变量中。
class Solution:def isPalindrome(self, s: str) -> bool:#法一,将s中的字符转移到新变量ls中ls = []s = s.lower()test = "abcdefghijklmnopqrstuvwxyz0123456789"for i in range(len(s)):if s[i] in test:ls.append(s[i])return ls==ls[::-1]
class Solution:def isPalindrome(self, s: str) -> bool:#法二,将测试集中带有的特殊字符从s中删去s = s.lower()ls = ' <>?:"@#$%^&*()_+/\'\*-+.[]{},!;|`'for i in ls:s = s.replace(i,'')return s==s[::-1]
运行结果:
T4 给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。
如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵
思路:
遍历矩阵,所有元素左上等于右下即可
class Solution:def isToeplitzMatrix(self, matrix: List[List[int]]) -> bool:for i in range(len(matrix)-1):for j in range(len(matrix[0])-1):if matrix[i][j] != matrix[i+1][j+1]:return Falsereturn True
结果:
算法设计大赛T1 - T4相关推荐
- 算法设计大赛21题---三升序列(DFS)
算法设计大赛21. 矩阵为: VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAG SDLLOVGRTWEYZKKXNKIRWGZWXWRHKXFASA ...
- 标题相似度算法_智能客服问题相似度算法设计——第三届魔镜杯大赛第12名解决方案...
目录: 一.比赛介绍 二.数据介绍 三.解决方案 (一)问题分析 (二)数据探索 (三)模型 (四)调参 (五)特征工程 (六)模型集成 (七)后处理 四.比赛总结 (一)比赛成绩 (二)代码分享 ( ...
- 【算法】算法设计技术
算法设计技巧 文章目录 算法设计技巧 贪心算法(贪婪算法) 多处理器情况 活动选择问题 活动选择问题(加权) 递归解 独立集问题 树上的独立集问题 装箱问题 联机和脱机 近似在线装箱算法 脱机算法 分 ...
- python创意编程比赛-关于举办2019年青岛市青少年创意编程与智能设计大赛的通知...
原标题:关于举办2019年青岛市青少年创意编程与智能设计大赛的通知 根据青岛市科协.教育局<关于开展2019年青岛市青少年科学教育系列活动的通知>(青科协字[2019]20号)文件相关要求 ...
- 快速准备电子设计大赛
一.根据需求建立团队 第一节:比赛流程 省赛 报名.选题 出题 四天三夜制作作品的时间 提交作品.评审 综合评测 成绩占20分录入国赛成绩 国赛 复试 第二节:比赛团队组建 按照团队成员 队长(团队协 ...
- ReviewForJob——算法设计技巧(贪婪算法+分治算法+动态规划)
[0]README 1)本文旨在介绍算法设计技巧包括 贪婪算法.分治算法.动态规划 以及相关的荔枝等: [1]贪婪算法 1)intro: 贪婪算法是分阶段进行的,在每个阶段,可以认为所做的决定是最好的 ...
- 电子设计大赛作品_第十四届电子设计大赛圆满结束!
为了激发学生的创造性,加强学生动手能力的培养和工程实践的训练,提高学生针对实际问题进行电子设计制作的综合能力,我院于2020年11月6号下午12点50分举行"安阳工学院第十四届电子设计大赛决 ...
- 计算机设计大赛国奖作品_5. 模拟退火求解旅行商问题
计算机设计大赛国奖作品_5. 模拟退火求解旅行商问题 本系列是2021年中国大学生计算机设计大赛作品"环境监测无人机航线优化"的相关文档,获得2021年西北赛区一等奖,国赛三等奖. ...
- 计算机设计大赛国奖作品_4. 界面设计
计算机设计大赛国奖作品_4. 界面设计 计算机设计大赛国奖作品_1. 项目概要 计算机设计大赛国奖作品_2. 报名材料 计算机设计大赛国奖作品_3. 需求分析 计算机设计大赛国奖作品_4. 界面设计 ...
最新文章
- 计算机应用基础电子演示文稿系统行考作业,最新电大计算机应用基础形考PowerPoint答案...
- mysqljs在koa2中的正确姿势
- 接近岁末,今日股市收盘大跳水
- CentOs 6.0 下安装cacti的syslog插件
- 无线网络渗透测试-Gerix Wifi Cracker破解无线网络
- 关于QMap的几点总结思考
- VS2010 断点无法命中的解决方案
- 计算机英语短文互译,中英文互译的英语短文
- MySQL工作笔记-使用rand生成随机数及用随机数填充记录
- Effective C++_笔记_条款06_若不想使用编译器自动生成的函数,就该明确拒绝
- memcached构建高性能web应用
- [转]非模态对话框的特点与使用
- DES、3DES、AES以及RSA加密介绍
- No certificate for team ‘‘ matching ‘iPhone Distribution: VOVA TECH LIMITED ()‘ Select a different s
- 音视频编解码基础知识
- 车厢调度(信息学奥赛一本通 - T1357)
- 从ELK/EFK到PLG – 在EKS中实现基于Promtail + Loki + Grafana容器日志解决方案
- LabVIEW笔记(一)
- bzoj2683/4066 简单题
- python绘制等值线图_利用Python插值绘制等值线图