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

【算法】算法题-20231112

算法题

  • 一、459. 重复的子字符串
  • 二、414. 第三大的数
  • 三、520. 检测大写字母
  • 四、680. 验证回文串 II
  • 五、283. 移动零

一、459. 重复的子字符串

简单

给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。

示例 1:
输入: s = “abab”
输出: true
解释: 可由子串 “ab” 重复两次构成。
示例 2:
输入: s = “aba”
输出: false
示例 3:
输入: s = “abcabcabcabc”
输出: true
解释: 可由子串 “abc” 重复四次构成。 (或子串 “abcabc” 重复两次构成。)

def fun2(s):return s in (s + s)[1:-1]s = "aba"
print(fun2(s))

二、414. 第三大的数

简单

给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。

示例 1:
输入:[3, 2, 1]
输出:1
解释:第三大的数是 1 。

示例 2:
输入:[1, 2]
输出:2
解释:第三大的数不存在, 所以返回最大的数 2 。

示例 3:
输入:[2, 2, 3, 1]
输出:1
解释:注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。
此例中存在两个值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1 。

def fun3(nums):nums.sort()if len(set(nums)) < 3:return nums[-1]else:return list(set(nums))[0]nums = [3, 2, 1]
print(fun3(nums))

三、520. 检测大写字母

简单

我们定义,在以下情况时,单词的大写用法是正确的:

全部字母都是大写,比如 “USA” 。
单词中所有字母都不是大写,比如 “leetcode” 。
如果单词不只含有一个字母,只有首字母大写, 比如 “Google” 。
给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。

示例 1:
输入:word = “USA”
输出:true

示例 2:
输入:word = “FlaG”
输出:false

def f1(word):if word.islower():return Trueelif word[0].isupper() and word[1:].islower():return Trueelif word.isupper():return Trueelse:return Falseword = "qlas"print(f1(word))

四、680. 验证回文串 II

简单
给你一个字符串 s,最多 可以从中删除一个字符。
请你判断 s 是否能成为回文字符串:如果能,返回 true ;否则,返回 false 。
示例 1:
输入:s = “aba”
输出:true
示例 2:
输入:s = “abca”
输出:true
解释:你可以删除字符 ‘c’ 。
示例 3:
输入:s = “abc”
输出:false

def f3(s):start=0end=len(s)-1while start<end:if s[start]==s[end]:start+=1end-=1else:return s[start:end]==s[start:end][::-1] or s[start+1:end+1]==s[start+1:end+1][::-1]return Trues = "abc"
print(f3(s))

五、283. 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1:
输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例 2:
输入: nums = [0]
输出: [0]

def test4(nums):j=0for i in range(len(nums)):if nums[i]:nums[i],nums[j]=nums[j],nums[i]j+=1return nums
nums = [0,1,0,3,12]
r=test4(nums)
print(r)
http://www.lryc.cn/news/226611.html

相关文章:

  • 目标检测YOLO实战应用案例100讲-基于多目标追踪的交通场景异常检测(续)
  • 最新支付宝转卡码生成之转账源代码(隐藏部分卡号)
  • 聊天机器人框架Rasa资源整理
  • 魔搭社区LLM模型部署实践, 以ChatGLM3为例(一)
  • 25期代码随想录算法训练营第十四天 | 二叉树 | 层序遍历(10道题)、226.翻转二叉树 、101.对称二叉树 2
  • ubuntu cp210x(USB转串口)驱动安装教程
  • Spring-SpringAOP的实现
  • js:Browserslist用特定语句查询浏览器列表的工具与Babel和Postcss配置使用
  • odoo16前端框架源码阅读——boot.js
  • 使用MybatisPlus时出现的java.lang.NullPointerException异常~
  • 27 微服务配置拉取
  • hutool ExcelUtil导出excel二级表头
  • 《开箱元宇宙》:认识香港麦当劳通过 The Sandbox McNuggets Land 的 Web3 成功经验
  • 基于python+TensorFlow+Django卷积网络算法+深度学习模型+蔬菜识别系统
  • Python异常处理:三种不同方法的探索与最佳实践
  • 一文图解爬虫(spider)
  • 腾讯云3年期轻量应用服务器优惠(薅羊毛教程)
  • 多个div横向排列的几种方法
  • 【编程语言发展史】Go语言的发展历史
  • 深入理解JVM虚拟机第二十三篇:详解JVM当中的栈顶缓存技术
  • 通过easyexcel导出数据到表格
  • C++入门学习(4)引用 (讲解拿指针比较)
  • 温度采集DS18B20
  • 同城跑腿服务预约小程序的作用如何
  • 前后端开发迭代
  • Git可视化界面的操作,SSH协议的以及IDEA集成Git
  • CSS的初步学习
  • 小程序样式问题
  • 大数据毕业设计选题推荐-生产大数据平台-Hadoop-Spark-Hive
  • 什么是Ribbon的饥饿加载?有什么优势?