【数组的度】leetcode,python

一种很菜的做法(暴力),for循环(样例能过一大半呢,复杂度的话。。。)

class Solution:def findShortestSubArray(self, nums: List[int]) -> int:n=len(nums)if n==1:return nmx=1#出现次数最多的计算for i in range(n):start=nums[i]num=0for j in range(n):if nums[j]==start:num+=1if num>mx:mx=nummn=50001for i in range(n):set=1star=nums[i]for j in range(i+1,n):if nums[j]==star:set+=1if set==mx:if mn>(j-i):mn=j-ireturn (mn+1)

优化的话无非就是把两层for循环弄掉,改了一下发现不仅要找值,还要记录对应的下标,嗯。

这个时候我们需要用到字典

mp=dict()
mp['key1']='value1'
mp['key2']='value2'

正解:

class Solution:def findShortestSubArray(self, nums: List[int]) -> int:n=len(nums)#创建字典mp=dict()#字典中的3个值代表出现次数,首次出现位置,最后一次出现的位置for i,num in enumerate(nums):if num in mp:mp[num][0]+=1mp[num][2]=ielse:mp[num]=[1,i,i]mx=mn=0for count,left,right in mp.values():if mx<count:mx=countmn=right-left+1elif mx==count:#这个:=能够使得赋值语句正确出现在判断语句中if mn>(span :=right-left+1):mn=spanreturn mn

tql 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/703945.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

渲染农场是什么意思?瑞云渲染为你解答

渲染农场是一种通过集合多台计算机的计算能力来加速图像渲染过程的系统。它尤其适用于动画、电影特效和高端视觉效果的制作&#xff0c;这些领域通常需要处理非常复杂和计算密集型的渲染任务。 渲染农场就是一大群电脑&#xff0c;他们一起可以快速渲染出漂亮的图像。在做动画片…

特斯拉全自动驾驶(FSD)系统发展与解析

引言 自动驾驶技术在近年来迅猛发展&#xff0c;多家科技巨头和汽车制造商纷纷投入巨资研发&#xff0c;试图领跑这一未来出行的革命。在众多企业中&#xff0c;特斯拉的全自动驾驶&#xff08;Full Self-Driving, FSD&#xff09;系统以其独特的“纯视觉”策略脱颖而出&#…

Visual Studio Add-in开发

https://www.cnblogs.com/kekec/p/10522250.html https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2017/extensibility/vsct-xml-schema-reference?viewvs-2017 https://github.com/search?lC%2B%2B&p2&qvisualstdio&typeReposi…

从融媒到智媒,小程序框架可助力传媒企业在AI实践下的服务变现

过去5年&#xff0c;媒体行业一直都在进行着信息化建设向融媒体平台建设的转变。一些融媒体的建设演变总结如下&#xff1a; 新闻终端的端侧内容矩阵建设&#xff0c;如App新闻端&#xff0c;社交平台上的官方媒体等 新闻本地生活双旗舰客户端&#xff0c;兼顾主流媒体核心宣传…

ModuleNotFoundError: No module named ‘openpyxl‘的解决方案

问题描述&#xff1a; ModuleNotFoundError: No module named ‘openpyxl’ 这个错误表示你的 Python 环境中没有安装 openpyxl 这个模块。openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。 解决方案&#xff1a; 要解决这个问题&#xff0c;你需…

【YashanDB知识库】ycm纳管主机安装YCM-AGENT时报错“任务提交失败,无法连接主机”

问题现象 执行安装 ycm-agent 命令纳管主机时报错 问题的风险及影响 会导致 ycm-agent 纳管不成功&#xff0c;YCM 无法监控主机和数据库 问题影响的版本 yashandb-cloud-manager-23.2.1.100-linux-aarch64.tar 问题发生原因 因为 10.149.223.121 对 ycm 的主机没有开放端…

Alembic 的使用(配合一款免费云数据库MemfireDB)

已经使用 Go 开发好一段时间了&#xff0c;最近因为工作原因又重操旧业搞起了 Python&#xff0c;基于 FastAPI 进行接口开发&#xff0c;然后去找了一下相关的脚手架&#xff0c;发现这其中挺多都用到了 Alembic&#xff0c;之前没使用过&#xff0c;于是学习了一下&#xff0…

优雅谈论大模型4:初识Token

Token 在继续前行之前&#xff0c;需要先停下来澄清下Token这个词&#xff0c;以及如何将原始的语料转化为Token&#xff0c;在细究背后的原理之后会更加优雅的理解大模型。任何的资讯都可以生成语料&#xff0c;而这些语料需要被机器理解以及供后续的模型训练&#xff0c;那么…

TopOn 正式聚合Kwai 旗下程序化广告平台——Kwai Network

**我们非常高兴的宣布&#xff0c;TopOn SDK 近日已正式聚合Kwai Network。**作为Kwai 旗下的程序化广告平台&#xff0c;Kwai Network 通过优质的变现能力及产品能力&#xff0c;为广大开发者提供高效及时的服务。 TopOn 聚合平台与Kwai Network 正式完成接入后&#xff0c;开…

Pencils Protocol Season 2 收官在即,展望Season 3 及其权益

此前 Scroll 生态 LaunchPad &聚合收益平台 Pencils Protocol&#xff08;原 Penpad&#xff09;&#xff0c;推出了首个资产即其生态代币 PDD 的 Launch&#xff0c;Season 2 活动主要是用户通过质押 ETH 代币、组件战队等方式&#xff0c;来获得 Point 奖励&#xff0c;并…

【Android踩坑】重写onClick方法时,显示Method does not override method from its supperclass

问题 重写onClick方法时&#xff0c;显示Method does not override method from its supperclass 解决 在类上加implements View.OnClickListener

【数据分析面试】44.分析零售客户群体(Python 集合Set的用法)

题目 假设你是一家在线零售商的数据库管理员&#xff0c;需要分析两类客户的数据。一个集合 purchased_customers 包含在最近一次促销活动中购买了商品的客户ID&#xff0c;另一个集合 newsletter_subscribers 包含订阅了新闻通讯的客户ID。编写一个函数 analyze_customers&am…