网易首页 > 网易号 > 正文 申请入驻

考公放宽至40岁了,我觉得我可以闯一闯了。。。

0
分享至

专栏:50多种数据结构彻底征服

专栏:50多种经典图论算法全部掌握

最近关于考公年龄放宽到40岁这件事在网上有引起了热议,不过只是在上海、浙江、江苏、山东等个别省份放开,其他省份目前还没有放开,有网友建议要全部放开。

我查了下上海的虽然放开了,但也有很大的限制,比如硕士,博士可以放宽到40岁,还有报考工青妇机关和妇联系统职位的也放宽到40岁以下,放的还是不彻底。虽然是一次小小的尝试,希望以后能全部放开,就像一位网友说的:从川普80岁竞选总统职位来看,年龄不应该成为职业门槛。

--------------下面是今天的算法题--------------

来看下今天的算法题,这题是LeetCode的第76题:最小覆盖子串。

问题描述

来源:LeetCode第76题

难度:困难

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。

示例1:


输入:s = "ADOBECODEBANC", t = "ABC" 输出:"BANC" 解释:最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。

示例2:


输入:s = "a", t = "a" 输出:"a" 解释:整个字符串 s 是最小覆盖子串。

  • m == s.length

  • n == t.length

  • 1 <= m, n <= 10^5

  • s 和 t 由英文字母组成

问题分析

这题说的是找出 s 的一个最小子串,并且这个子串要涵盖 t 中的所有字符,其实就是一个大小可变的滑动窗口问题。

解决思路就是刚开始的时候左指针不动,右指针往右滑动,当窗口中包含 t 中所有字符的时候,说明找到了一个可行的解,但不一定是最优的,我们还需要缩小窗口来找到最优解。

这个时候右指针不动,左指针往右滑来缩小窗口找出最优解……。一直重复上面的过程,直到右指针不能在滑动为止,滑动的时候需要记录满足条件的窗口长度,保存最小长度即可,这个最小长度就最优解,这里画个图来看下。

JAVA:

public String minWindow(String s, String t) {     int[] map = new int[128];     // 记录字符串t中每个字符的数量     for (char ch : t.toCharArray())         map[ch]++;     int count = t.length();// 字符串t的数量     int left = 0;// 窗口的左边界     int right = 0;// 窗口的右边界     // 覆盖t的最小长度     int windowMin = Integer.MAX_VALUE;     int strStart = 0;// 覆盖字符串t开始的位置,为了后面截取。     while (right < s.length()) {         if (map[s.charAt(right++)]-- > 0)             count--;// 覆盖一个减 1         while (count == 0) {// 如果全部覆盖,说明满足条件。             // 如果有更小的窗口就记录更小的窗口             if (right - left < windowMin) {                 windowMin = right - left;                 strStart = left;             }             // 移动窗口左边界,如果有一个没覆盖,count加 1             if (map[s.charAt(left++)]++ == 0)                 count++;         }     }     // 如果找到合适的窗口就截取,否则就返回空。     if (windowMin != Integer.MAX_VALUE)         return s.substring(strStart, strStart + windowMin);     return ""; }

C++:

public:     string minWindow(string s, string t) {         int m[128];         // 记录字符串t中每个字符的数量         for (char ch: t)             m[ch]++;         int count = t.length();// 字符串t的数量         int left = 0;// 窗口的左边界         int right = 0;// 窗口的右边界         // 覆盖t的最小长度         int windowMin = INT_MAX;         int strStart = 0;// 覆盖字符串t开始的位置,为了后面截取。         while (right < s.length()) {             if (m[s[right++]]-- > 0)                 count--;// 覆盖一个减 1             while (count == 0) {// 如果全部覆盖,说明满足条件。                 // 如果有更小的窗口就记录更小的窗口                 if (right - left < windowMin) {                     windowMin = right - left;                     strStart = left;                 }                 // 移动窗口左边界,如果有一个没覆盖,count加 1                 if (m[s[left++]]++ == 0)                     count++;             }         }         // 如果找到合适的窗口就截取,否则就返回空。         if (windowMin != INT_MAX)             return s.substr(strStart, windowMin);         return "";     }

Python:

def minWindow(self, s: str, t: str) -> str:     map = [0] * 128     # 记录字符串t中每个字符的数量     for ch in t:         map[ord(ch)] += 1     # left窗口的左边界,right窗口的右边界,count字符串t的数量     left, right, count = 0, 0, len(t)     # windowMin覆盖t的最小长度,strStart覆盖字符串t开始的位置,为了后面截取。     windowMin, strStart = 2 ** 31, 0     while right < len(s):         if map[ord(s[right])] > 0:             count -= 1  # 覆盖一个减 1         map[ord(s[right])] -= 1         right += 1         while count == 0:  # 如果全部覆盖,说明满足条件。             # 如果有更小的窗口就记录更小的窗口             if right - left < windowMin:                 windowMin = right - left                 strStart = left             # 移动窗口左边界,如果有一个没覆盖,count加 1             if map[ord(s[left])] == 0:                 count += 1             map[ord(s[left])] += 1             left += 1     # 如果找到合适的窗口就截取,否则就返回空。     if windowMin != 2 ** 31:         return s[strStart: strStart + windowMin]     return ""

笔者简介

博哥,真名:王一博,毕业十多年, 作者,专注于 数据结构和算法 的讲解,在全球30多个算法网站中累计做题2000多道,在公众号中写算法题解800多题,对算法题有自己独特的解题思路和解题技巧,喜欢的可以给个关注,也可以 下载我整理的1000多页的PDF算法文档 。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
抗战最狠一仗:不是平型关,也不是台儿庄,而是上高会战

抗战最狠一仗:不是平型关,也不是台儿庄,而是上高会战

南冥那只猫
2026-06-22 10:01:52
空调“铝代铜”争议持续发酵 格力、松下、海尔三家立场清晰

空调“铝代铜”争议持续发酵 格力、松下、海尔三家立场清晰

鳌头财经
2026-06-23 17:41:39
不要垫!不要垫!不要垫!有人垫了一张纸,家差点没了……

不要垫!不要垫!不要垫!有人垫了一张纸,家差点没了……

泰有趣
2026-06-24 13:34:00
伊朗要变天了!伊朗最高领袖可能已收回所有权力,终于要明牌了?

伊朗要变天了!伊朗最高领袖可能已收回所有权力,终于要明牌了?

飞鸟各投林
2026-06-24 23:16:32
许世友打完对越反击战就被免职了。很多人说是伤亡太大背了锅

许世友打完对越反击战就被免职了。很多人说是伤亡太大背了锅

汪茫的创业之路
2026-06-24 14:49:35
新规要求演员必须用原名不得用艺名,这下几位大明星有点尴尬了

新规要求演员必须用原名不得用艺名,这下几位大明星有点尴尬了

林轻吟
2026-06-24 11:34:08
区分"敌人"与"人民": 中方3次改口,不再称“日本政府”

区分"敌人"与"人民": 中方3次改口,不再称“日本政府”

闻识
2026-06-25 13:25:40
特朗普:伊朗女子小学遭袭并导致大量儿童丧生一事,责任方可能永远无法查明,“没人故意那样做……犯错难免,战争是肮脏的”

特朗普:伊朗女子小学遭袭并导致大量儿童丧生一事,责任方可能永远无法查明,“没人故意那样做……犯错难免,战争是肮脏的”

政知新媒体
2026-06-25 10:38:15
定居台湾的姑姑回大陆,显摆自己住150平豪宅,我:去我家看看

定居台湾的姑姑回大陆,显摆自己住150平豪宅,我:去我家看看

红豆讲堂
2025-06-27 10:54:06
“只有学渣家长会这样”,母亲在考场前失态,网友:你到底哭啥?

“只有学渣家长会这样”,母亲在考场前失态,网友:你到底哭啥?

泽泽先生
2026-06-22 19:49:50
克宫:必须追究基辅政权的法律责任

克宫:必须追究基辅政权的法律责任

俄罗斯卫星通讯社
2026-06-25 15:17:19
委内瑞拉强震已造成至少32人死亡、700人受伤

委内瑞拉强震已造成至少32人死亡、700人受伤

潇湘晨报
2026-06-25 13:06:45
重磅加盟!你好,NBA!东部诞生顶级三巨头

重磅加盟!你好,NBA!东部诞生顶级三巨头

篮球实战宝典
2026-06-24 18:51:34
鲍鹏山:如果中国真的足够强大!我们没必要脆弱到那么害怕批评!

鲍鹏山:如果中国真的足够强大!我们没必要脆弱到那么害怕批评!

用冷眼洞悉世界
2026-06-24 00:44:14
端午应酬误入赌局,广州老板一夜输光加工厂

端午应酬误入赌局,广州老板一夜输光加工厂

辉哥说动漫
2026-06-25 11:53:14
宋庆龄一生见尽权贵,却唯独对毛主席说:您是我遇见过最明智的人

宋庆龄一生见尽权贵,却唯独对毛主席说:您是我遇见过最明智的人

铁锤妹妹是只猫
2026-06-24 04:18:54
听过最恐怖的故事是什么 看网友讲述 我身上的汗毛倒竖人间地狱啊

听过最恐怖的故事是什么 看网友讲述 我身上的汗毛倒竖人间地狱啊

侃神评故事
2026-06-25 11:02:06
心理学:领导当众给你难堪时,顶嘴是作死、沉默是软蛋、解释是徒劳,真正能全身而退的人只做这两步

心理学:领导当众给你难堪时,顶嘴是作死、沉默是软蛋、解释是徒劳,真正能全身而退的人只做这两步

心理观察局
2026-06-25 07:42:16
A股:收盘后,传来两个重要信息,明天,周五或要这样走了!

A股:收盘后,传来两个重要信息,明天,周五或要这样走了!

明心
2026-06-25 16:28:42
月薪2万吃不起的称重快餐,大规模倒闭!

月薪2万吃不起的称重快餐,大规模倒闭!

新浪财经
2026-06-25 00:45:41
2026-06-25 19:03:00
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
273文章数 4关注度
往期回顾 全部

教育要闻

2026年北京市初中学业水平考试数学试卷解析

头条要闻

重卡司机称换不起85万的纯电重卡:追平45万差价要5年

头条要闻

重卡司机称换不起85万的纯电重卡:追平45万差价要5年

体育要闻

世界杯最动人一吻:我若离世 你就改嫁吧

娱乐要闻

这国产剧太装了,居然还热播第一?

财经要闻

又有纸尿裤送检后被检测出甲酰胺!

科技要闻

宇树机器人大降价

汽车要闻

东风奕派纳米06智趣版上市 指导价9.99万元起

态度原创

旅游
艺术
健康
教育
房产

旅游要闻

一湖碧水映青山 枣庄山亭庄里水库美如画卷

艺术要闻

这才是800年来“最美书法”!字字藏有失传笔法,董其昌含泪练了800遍

医生如何快速诊断脑梗和脑出血?

教育要闻

一人716分 一人718分!英语数学均超140分“清北”已来电,学霸坦言闲时会玩游戏“放松一下”:也会户外运动 不能只玩游戏刷手机。

房产要闻

万万没想到 这家国企造的住宅竟成了区域顶流!

无障碍浏览 进入关怀版