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

网站开发软件和工具ide和编辑器军队工程建设项目招投标网站

网站开发软件和工具ide和编辑器,军队工程建设项目招投标网站,wordpress大型博客主题,零基础 网站LeetCode-面试题 17.05. 字母与数字【前缀和,哈希表】题目描述:解题思路一:前缀和。数字为-1,字母为1。我们需要找到的子数组是前缀和之差为0的,例如s[right]-s[left]0,那么s[right]s[left],变为…

LeetCode-面试题 17.05. 字母与数字【前缀和,哈希表】

  • 题目描述:
  • 解题思路一:前缀和。数字为-1,字母为1。我们需要找到的子数组是前缀和之差为0的,例如s[right]-s[left]=0,那么s[right]=s[left],变为找前缀和相同的了。我们用一个字典记录前缀和的最早出现下标。
  • 解题思路二:用一个整数替换前缀和列表,在遍历array过程中计算前缀和。其值在[-n,n]之间故数组长设为2n+1。具体看注释。
  • 解题思路三:0

题目描述:

给定一个放有字母和数字的数组,找到最长的子数组,且包含的字母和数字的个数相同。

返回该子数组,若存在多个最长子数组,返回左端点下标值最小的子数组。若不存在这样的数组,返回一个空数组。

示例 1:

输入: [“A”,“1”,“B”,“C”,“D”,“2”,“3”,“4”,“E”,“5”,“F”,“G”,“6”,“7”,“H”,“I”,“J”,“K”,“L”,“M”]

输出: [“A”,“1”,“B”,“C”,“D”,“2”,“3”,“4”,“E”,“5”,“F”,“G”,“6”,“7”]

示例 2:

输入: [“A”,“A”]

输出: []
提示:

array.length <= 100000
https://leetcode.cn/problems/find-longest-subarray-lcci/description/

解题思路一:前缀和。数字为-1,字母为1。我们需要找到的子数组是前缀和之差为0的,例如s[right]-s[left]=0,那么s[right]=s[left],变为找前缀和相同的了。我们用一个字典记录前缀和的最早出现下标。

array.length 非常大,常规暴力算法难以不超时。

注意python里面不是if else 而是if elif

class Solution:def findLongestSubarray(self, array: List[str]) -> List[str]:s=list(accumulate((-1 if v[0].isdigit() else 1 for v in array),initial=0))left=right=0#前缀和一般是左闭右开[left,right)first={}#记录前缀和最早出现的下标for i,v in enumerate(s):j=first.get(v,-1)#v是s[i]出现的最早下标,若无则为-1if j<0:#首次遇到s[i]first[v]=ielif i-j>right-left:    #遇到更长的子数组left,right=j,ireturn array[left:right]

时间复杂度:O(n)
空间复杂度:O(n)

解题思路二:用一个整数替换前缀和列表,在遍历array过程中计算前缀和。其值在[-n,n]之间故数组长设为2n+1。具体看注释。

class Solution:def findLongestSubarray(self, array: List[str]) -> List[str]:left=right=0#前缀和一般是左闭右开[left,right)s=n=len(array)#s初始化为n防止出现负数下标first=[-1]*(2*n+1)#记录前缀和最早出现的下标,初始化为-1长为2n+1的数组first[s]=0#s[0]=0for i,v in enumerate(array,1):#表示i从1开始计数s+=-1 if v[0].isdigit() else 1j=first[s] #first[s]是s[i]出现的最早下标,若无则为-1if j<0:#首次遇到s[i]first[s]=ielif i-j>right-left:    #遇到更长的子数组left,right=j,ireturn array[left:right]

时间复杂度:O(n)
空间复杂度:O(n)

解题思路三:0


http://www.yayakq.cn/news/119826/

相关文章:

  • 搜索引擎主题网站模板泉州百度开户
  • 公司做网站需要哪些手续wordpress域名地址设置
  • 免费营销型网站建设wordpress页面的设置
  • 平泉县住房和城乡建设局网站WordPress主题会包含木马吗
  • 用织梦网站后台发布文章为什么还需要审核电脑上两个版本的wordpress
  • wordpress 社交网站吗如何设计服装网站首页
  • 做家教的网站谁能给个网址啊
  • 做招商加盟做得比较好的网站设计找图网站
  • 大同哪有做网站的网站建设公司zgkr
  • 做网站哪好库尔勒网站
  • 玉山网站制作wordpress附件上传FTP
  • 手机网站返回跳转页面萧山做网站的企业
  • 搭建一个网站花多少钱前端网页设计师
  • 厦门网站制作计划无备案网站如何赚钱
  • 哪里可以做拍卖网站做自己的彩票网站
  • 天津雍鑫建设投资集团网站狠狠做新网站
  • 企业网站的建设意义是什么南京最好的网页制作公司
  • 郑州营销网站商城建站系统源码
  • 如何在网站做投票龙华区住房建设局网站
  • 临沂网站建设培训可以做外链的图片网站
  • 南昌做网站的公司哪个比较好的外贸网站 seo
  • 下载正品官方网站重庆装修
  • 如何查网站的服务器北京品牌网站建设公司
  • 软环境建设网站怎么制作网站域名
  • 河南住房城乡建设厅官方网站怎么注册网络平台
  • 用windows搭建手机网站遵义网站建设公司招聘
  • 微网站建设教程视频教程WordPress实现网址导航
  • 做外汇 虚拟网站做网站仓库报表系统
  • 湛江建设工程交易中心网站网站首页倒计时功能怎么做
  • 网站开发售后服务承诺医院网站建设ppt