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

蓝桥杯练习代码

一、最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""

 

示例 1:

输入:strs = ["flower","flow","flight"]
输出:"fl"

示例 2:

输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。
class Solution(object):def longestCommonPrefix(self, strs):""":type strs: List[str]:rtype: str"""if not strs:  # 如果数组为空,返回空字符串return ""# 找到最短字符串的长度min_len = min(len(s) for s in strs)# 逐个字符比较for i in range(min_len):current_char = strs[0][i]  # 取第一个字符串的第 i 个字符for s in strs:if s[i] != current_char:  # 如果字符不匹配return strs[0][:i]  # 返回当前匹配的前缀return strs[0][:min_len]  # 返回最短字符串

二、三数之和

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != ji != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组。

 

 

示例 1:

输入:nums = [-1,0,1,2,-1,-4]
输出:[[-1,-1,2],[-1,0,1]]
解释:
nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0 。
nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0 。
nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0 。
不同的三元组是 [-1,0,1] 和 [-1,-1,2] 。
注意,输出的顺序和三元组的顺序并不重要。

示例 2:

输入:nums = [0,1,1]
输出:[]
解释:唯一可能的三元组和不为 0 。

示例 3:

输入:nums = [0,0,0]
输出:[[0,0,0]]
解释:唯一可能的三元组和为 0 。
class Solution(object):def threeSum(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""if not nums or len(nums) < 3:  # 检查输入是否合法return []nums.sort()  # 排序result = []for i in range(len(nums) - 2):  # 固定第一个数if i > 0 and nums[i] == nums[i - 1]:  # 跳过重复continueleft, right = i + 1, len(nums) - 1  # 双指针while left < right:total = nums[i] + nums[left] + nums[right]if total < 0:left += 1elif total > 0:right -= 1else:result.append([nums[i], nums[left], nums[right]])while left < right and nums[left] == nums[left + 1]:  # 跳过重复left += 1while left < right and nums[right] == nums[right - 1]:  # 跳过重复right -= 1left += 1right -= 1return result

 

http://www.lryc.cn/news/543952.html

相关文章:

  • Imagination通过最新的D系列GPU IP将效率提升至新高度
  • C高级——shell(3)
  • 【C语言】第八期——指针、二维数组与字符串
  • docker 运行claude 的computer use
  • JAVA面试_进阶部分_23种设计模式总结
  • 边缘计算收益低的三大指标
  • Linux网络之传输层协议(UDP,TCP协议)
  • 傅里叶分析
  • 【前端基础】Day 3 CSS-2
  • NAT 技术:网络中的 “地址魔术师”
  • Ollama下载安装+本地部署DeepSeek+UI可视化+搭建个人知识库——详解!(Windows版本)
  • 【JavaSE-1】初识Java
  • 《基于Django和ElasticSearch的学术论文搜索推荐系统的设计与实现》开题报告
  • Dify在Ubuntu20.04系统的部署
  • 第7天:结构体与联合体 - 复杂数据类型
  • vue富文本 vue-quill-editor + 上传图片到阿里云服务器 + 修改富文本内容
  • Java常见设计模式(中):结构型模式
  • DeepSeek R1 + 飞书机器人实现AI智能助手
  • 【论文详解】Transformer 论文《Attention Is All You Need》能够并行计算的原因
  • 51c嵌入式~电路~合集12
  • php 获取head参数
  • 蓝桥杯嵌入式备赛
  • 基于PyTorch实现的自适应注意力卷积网络(AACN)详解
  • 基于Javase的停车场收费管理系统
  • Cookie与Session:Web开发中的状态管理机制
  • python量化交易——金融数据管理最佳实践——qteasy创建本地数据源
  • 手机放兜里,支付宝“碰一下”被盗刷?
  • C/C++语言知识点一
  • 前端面试题---在vue中为什么要用路由
  • Three.js 快速入门教程【十】常见的纹理类型