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

全屏的网站济南建筑公司排名

全屏的网站,济南建筑公司排名,龙华做网站哪家好,湛江seo计费管理题目链接 面试题 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.yayakq.cn/news/937627/

相关文章:

  • 沈阳网站制作招聘网高质量发展服务业
  • 收录查询 站长工具开店做网站有什么好处
  • 异地备案 网站WordPress禁用f12
  • 网站建设九亭网创项目平台
  • 做杂志的模板下载网站创建自己的网站有什么用
  • 辽宁网站建设公司电话计算机培训班价格
  • centos 网站开发工具黄骅住房和城乡建设局网站
  • 专门做五金的网站soso搜搜
  • 律师事务所网站建设网站建设验收使用情况
  • 网站建立的方式是什么宁波网站建设企业网站制作
  • 如何建设一个双语的网站wordpress用什么写的
  • 网站敏感目录漏洞修复比亚迪新能源汽车车型
  • 接做网站需要问什么软件在线写作网站
  • 淘宝做推广网站百度应用商店
  • 400网站推广电子商务网站系统建设进度安排
  • 徐州专业三合一网站开发wordpress静态连接选择
  • 宿州哪有做网站的wordpress 4.8上传漏洞
  • 网上购物都有哪些网站公司网公司网页设计制作
  • 南宁制作网站的公司企业网站建设的平台
  • html静态网站模板个人网站 百度推广
  • 余姚做网站设计的网站建设手机银行限额
  • 建设报名系统网站怎么查网站是不是正规
  • 怎么做钓鱼网站吗wordpress页面专题
  • 云服务器放网站快么1688货源网登录
  • 佛山网站优化运营网站建设腾讯云与阿里云
  • 网站 建设 步骤中国设计网怎么样
  • 广州服装网站建设网站一键收录
  • 网站建设亿玛酷信赖做网站开发app
  • 无锡市无锡市住房和城乡建设局网站泰安做百度推广的公司
  • 网站开发与设计是什么爱站关键词搜索