LeetCode 1297. 子串的最大出现次数

1. 题目

给你一个字符串 s ,请你返回满足以下条件且出现次数最大的 任意 子串的出现次数

  • 子串中不同字母的数目必须小于等于 maxLetters 。
  • 子串的长度必须大于等于 minSize 且小于等于 maxSize 。
示例 1:
输入:s = "aababcaab", maxLetters = 2, minSize = 3, maxSize = 4
输出:2
解释:子串 "aab" 在原字符串中出现了 2 次。
它满足所有的要求:2 个不同的字母,长度为 3 (在 minSize 和 maxSize 范围内)。示例 2:
输入:s = "aaaa", maxLetters = 1, minSize = 3, maxSize = 3
输出:2
解释:子串 "aaa" 在原字符串中出现了 2 次,且它们有重叠部分。示例 3:
输入:s = "aabcabcab", maxLetters = 2, minSize = 2, maxSize = 3
输出:3示例 4:
输入:s = "abcde", maxLetters = 2, minSize = 3, maxSize = 3
输出:0提示:
1 <= s.length <= 10^5
1 <= maxLetters <= 26
1 <= minSize <= maxSize <= min(26, s.length)
s 只包含小写英文字母。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-number-of-occurrences-of-a-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 最大长度的字符串如果是答案,那么最小长度的肯定也是答案,所以只需要考虑最小长度
  • 对字符串每个字符开始的最小长度个字符组成的子串,检查其字符种数是否满足
class Solution {
public:int maxFreq(string s, int maxLetters, int minSize, int maxSize) {unordered_map<string, int> m;int i, j, c, count, maxcount = 0, n = s.size();string t;for(i = 0; i <= n-minSize; ++i){t = s.substr(i, minSize);//子串count = 0, c = 0;for(j = 0; j < t.size(); ++j){if(((count>>(t[j]-'a'))&1)==0)//没有出现的字符{c++;//种数+1count |= (1<<(t[j]-'a'));//该位置为1}}if(c <= maxLetters)//字符种数满足要求{m[t]++;//计数+1maxcount = max(maxcount,m[t]);//更新最大计数}}return maxcount;}
};

144 ms 14 MB

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

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

相关文章

PASCAL不仅仅是语言

PASCAL是一种计算机通用的高级程序设计语言&#xff0c;但不仅仅是语言。如下&#xff1a;int PASCAL WinMain(...){......}WinMain函数前的PASCAL是什么意思呢&#xff1f;PASCAL是函数在调用时,针对参数的压栈约定(即参数从右向左压栈)&#xff0c;函数返回时需要重新调整堆栈…

计算机摄像头打不开,电脑摄像头打不开、用不了怎么办(操作简单),这几步你要了解...

有时候我们会遇到在开视频时电脑无法打开摄像头&#xff0c;这有可能是摄像头本身就有问题&#xff0c;也有可能是因为权限设置美没有到位&#xff0c;导致摄像头不能打开。今天咱们来解决一下&#xff0c;电脑摄像头无法打开的问题。工具/材料鲁大师或者360驱动大师等可以修改…

jsp 内置的对象的简要概述(转)

JSP 内置对象简要概述 (1) HttpServletRequest 类的 Request 对象 作用&#xff1a;代表请求对象&#xff0c;主要用于接受客户端通过 HTTP 协议连接传输到服务器端的数据。 (2) HttpServletResponse 类的 Respone 对象 作用&#xff1a;代表响应对象&#xff0c;主要用于向客…

LeetCode 684. 冗余连接(并查集)

1. 题目 在本问题中, 树指的是一个连通且无环的无向图。 输入一个图&#xff0c;该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间&#xff0c;这条附加的边不属于树中已存在的边。 结果图是一个以边组成的二维数…

fiddler怎么修改服务器返回数据,基于Fiddler实现修改接口返回数据进行测试

方法介绍与比对在测试的过程中&#xff0c;有的需求是这样的&#xff0c;它需要你修改接口返回的数据&#xff0c;从而检查在客户端手机app内是否显示正确&#xff0c;这也算是一种接口容错测试&#xff0c;接口容错测试属于app性能(专项)测试的其中一种。通过Fiddler我们可以有…

Form界面设置只读

很多时候&#xff0c;根据单据的状态的变化&#xff0c;要控制单据是否只读。 常用的form子程序&#xff1a; SET_BLOCK_PROPERTY(REQUEST_HEADERS_V,INSERT_ALLOWED,PROPERTY_TRUE);SET_BLOCK_PROPERTY(REQUEST_HEADERS_V,UPDATE_ALLOWED,PROPERTY_TRUE);SET_BLOCK_PROPERTY(R…

LeetCode 886. 可能的二分法(着色DFS/BFS/拓展并查集)

文章目录1. 题目2. 解题2.1 DFS2.2 BFS2.3 并查集1. 题目 给定一组 N 人&#xff08;编号为 1, 2, …, N&#xff09;&#xff0c; 我们想把每个人分进任意大小的两组。 每个人都可能不喜欢其他人&#xff0c;那么他们不应该属于同一组。 形式上&#xff0c;如果 dislikes[i…

css scale 元素不放大,列元素上的CSS 3动画“transform:scale”对chrome不起作用

我在Chrome v44中遇到一个问题,我尝试使用“transform&#xff1a;scale(1.1)”放大列项目中的图像,动画不起作用…如果我尝试使用firefox,它运行良好&#xff01;我认为问题是由于chrome,但我想知道是否有人找到了解决方法..column-wrap {columns: 3;}.column-item {backgroun…

js中如果无法获取某个html属性,例如自定义了一个dir属性,但获取总是为空,尝试换个词,因为可能什么关键词冲突了。...

js中如果无法获取某个html属性&#xff0c;例如自定义了一个dir属性&#xff0c;但获取总是为空&#xff0c;尝试换个词&#xff0c;因为可能什么关键词冲突了。转载于:https://www.cnblogs.com/kenkofox/archive/2011/03/26/1996416.html

LeetCode 685. 冗余连接 II(并查集)

1. 题目 在本问题中&#xff0c;有根树指满足以下条件的有向图。该树只有一个根节点&#xff0c;所有其他节点都是该根节点的后继。 每一个节点只有一个父节点&#xff0c;除了根节点没有父节点。 输入一个有向图&#xff0c;该图由一个有着N个节点 (节点值不重复1, 2, …, N…

prototype.js ajax.request,javascript – Prototype和Ajax.Request范围

我在原型的Ajax.Request类中获取正确的范围时遇到了麻烦.我要做的是编写一个包含ajax请求的简单API&#xff1a;API Class.create({initialize:function(api_token){this.api_token api_token;this.request_uri new Template(/api/#{api_token}/#{resource}.json);this.stat…

红黑树的c++完整实现源码

红黑树的c完整实现源码 作者&#xff1a;July、saturnman。时间&#xff1a;二零一一年三月二十九日。出处&#xff1a;http://blog.csdn.net/v_JULY_v。声明&#xff1a;版权所有&#xff0c;侵权必究。------------------------------------------- 前言&#xff1a; 本人…

[Kesci] 新人赛 · 员工满意度预测

文章目录1. 导入工具包2. 读取数据3. 特征处理3.1 数字特征归一化3.2 文字特征处理3.3 特征合并4. 定义模型训练5. 预测6. 新人赛结果竞赛地址 使用 sklearn Pipeline 模板 1. 导入工具包 %matplotlib inline import numpy as np import matplotlib.pyplot as plt plt.rcPar…

webusercontrol ajax,ASP.NET页面使用AjaxPro2完成JS调用后台方法

一、首先下载AjaxPro.2.dll(附下载地址)百度网盘链接&#xff1a;https://pan.baidu.com/s/1r87DE1Tza9F4NbJwTCS1AQ提取码&#xff1a;10p6二、在Visual studio中创建空Web项目&#xff0c;并将AjaxPro.2.dll复制到bin目录下&#xff0c;包括在项目中三、打开Web.config文件&a…

LeetCode 1109. 航班预订统计(差分思想)

1. 题目 这里有 n 个航班&#xff0c;它们分别从 1 到 n 进行编号。 我们这儿有一份航班预订表&#xff0c;表中第 i 条预订记录 bookings[i] [i, j, k] 意味着我们在从 i 到 j 的每个航班上预订了 k 个座位。 请你返回一个长度为 n 的数组 answer&#xff0c;按航班编号顺…

ajax点击事件无法触发,解决jQuery Ajax动态新增节点无法触发点击事件的问题_婳祎_前端开发者...

在写ajax加载数据的时候发现&#xff0c;后面添加进来的demo节点元素&#xff0c;失去了之前的点击事件。为什么点击事件失效&#xff0c;我们该怎么去解决呢?其实最简单的方法就是直接在标签中写οnclick””&#xff0c;但是这样写其实是有点low的&#xff0c;最好的方式还是…

OSS音频编程概述(DSP部分)

一、 音频概念 音频信号是一种连续变化的模拟信号&#xff0c;但计算机只能处理和记录二进制的数字信号&#xff0c;由自然音源得到的音频信号必须经过一定的变换&#xff0c;成为数字音频信号之后&#xff0c;才能送到计算机中作进一步的处理。 对于OSS编程来说&#xff0c;需…

LeetCode 853. 车队(排序)

1. 题目 N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。 每辆车 i 以恒定的速度 speed[i] &#xff08;英里/小时&#xff09;&#xff0c;从初始位置 position[i] &#xff08;英里&#xff09; 沿车道驶向目的地。 一辆车永远不会超过前面的另一辆车&#xff…

测试服务器性能常用算法,服务器性能剖析(profiling)之——简介

性能剖析(profiling)是专注于测量服务器时间花费在哪里的一种技术&#xff0c;这里“性能即响应时间”。测量是一项很有挑战性的工作&#xff0c;并且分析结果也同样有挑战性&#xff0c;测出时间花在哪里&#xff0c;和知道为什么花在那里是两码事……性能剖析一般有两个步骤&…

LeetCode 815. 公交路线(最少换乘,BFS)

1. 题目 我们有一系列公交路线。每一条路线 routes[i] 上都有一辆公交车在上面循环行驶。 例如&#xff0c;有一条路线 routes[0] [1, 5, 7]&#xff0c;表示第一辆 (下标为0) 公交车会一直按照 1->5->7->1->5->7->1->… 的车站路线行驶。 假设我们从 …