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

山西省建设厅网站见证员证书宋来增一键制作短视频

山西省建设厅网站见证员证书宋来增,一键制作短视频,帝国网站后台管理系统,wordpress联系表单插件题目链接 面试题 17.05. 字母与数字 mid 题目描述 给定一个放有字母和数字的数组,找到最长的子数组,且包含的字母和数字的个数相同。 返回该子数组,若存在多个最长子数组,返回左端点下标值最小的子数组。若不存在这样的数组&…

题目链接

面试题 17.05. 字母与数字 mid

题目描述

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

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

示例 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≤100000array.length \leq 100000array.length100000

分析:前缀和 + 哈希表

我们可以将 字母看作是 +1,数字看作是 -1,那么原问题就转换为 求最长的一段和 sum = 0的子数组

我们用一个哈希表 m来记录遍历过的 前缀和 s[i]和它对应的下标 i

如果当前遍历到了 s[j],并且 m存在 s[j]这个键。由此,我们可以得到 i = m[s[j]]。那么 (i , j]这一段就是和为 0

的子数组,我们就将答案更新即可。

我们用 idx代表最长的那段子数组的起始下标,用 len表示最长的那段子数组的长度。

最后返回 array的这一段 [idx , idx + len]即可。

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

C++代码:

class Solution {
public:vector<string> findLongestSubarray(vector<string>& arr) {int n = arr.size();unordered_map<int,int> m{{0,-1}};int idx = 0 , len  = 0;for(int j = 0 ,s = 0;j < n;j++){s += (arr[j][0] >= 'A' ? 1 : -1);if(m.count(s)){int i = m[s];if(j - i > len){len = j - i;idx = i + 1;}}else m[s] = j;}return vector<string> (arr.begin() + idx,arr.begin() + idx + len);}
};

Python代码:


class Solution:def findLongestSubarray(self, arr: List[str]) -> List[str]:m = {0:-1}s = idx = len = 0for j,str in enumerate(arr):s += 1 if str.isalpha() else -1if s in m:i = m[s]if len < j - i:idx = i + 1len = j - ielse:m[s] = j    return arr[idx:idx+len]
http://www.sczhlp.com/news/120962/

相关文章:

  • 重庆做木门网站公司自己名下房产查询
  • 公司网站做一年多少钱做设计有必要买素材网站会员
  • php mysql开发的网站好看的网站建设公司
  • 行业网站建设报价互联网广告推广公司
  • 网站开发的外文文献网站优化排名资源
  • 如需郑州网站建设网站改版 报价
  • 国际网站后缀服装网站建设目的
  • 在小网站上做点击广告免费行情网站app大全
  • 张槎网站制作深圳市深度网络科技有限公司
  • 要做网站照片怎么处理.net做的网站怎么样
  • 东莞市长安网站建设公司营销网红
  • 网站被抓取更换wordpress后台登陆地址
  • 网站内搜索洛阳seo网站
  • 网站设置为默认主页商城类小程序
  • 苏州高新区建设局网站装修预算
  • 十大电子商务网站如何设置wordpress不自动更新
  • 网站常用热点hot小图标做网彩网站
  • 做网站多少钱西宁君博相约中东跨境电商平台有哪些
  • 网站开发公司更换高端品牌网站建设(杭州)
  • 网站建设步骤详解视频深圳市建设厅官方网站
  • 泉州建站模板源码三亚谁做网站
  • 销售型网站怎么做的襄阳seo公司
  • 网站开发会遇到的问题网站采集信息怎么做
  • 网站的底部导航怎么做旅游电子商务网站建设规划方案
  • 网站制作效果好住建厅报名考试入口
  • 怎么上传自己的做网站单页面网站制作视频
  • 营销网站的类型百度入口网页版
  • 网站开发技术 创新点开发移动网站
  • 吕子乔做网站吹的语录网站如何去分析
  • vue做网站看不到htmI吗哪些软件可以制作视频