字串专题

每日一练:无重复字符的最长字串

一、题目要求 给定一个字符串 s ,请你找出其中不含有重复字符的 最长  子串  的长度。 示例 1: 输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: s = "

HDU1153——Magic Bitstrings,HDU1171——Big Event in HDU,HDU1261——字串数

HDU1153——Magic Bitstrings 题目描述 问题 - 1153 (hdu.edu.cn) 运行代码 #include <iostream>#include <vector>int main() {long long p;while (std::cin >> p) {if (p == 0) break;if (p == 2) {std::cout << "Imposs

LeetCode热题3.无重复的最长字串

前言: 经过前序的一系列数据结构和算法学习后,开始用leetCode热题练练手。 . - 力扣(LeetCode) 给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 解题思路: 使用迭代变量字符串,效率还存在优化空间,下期分解。

Web_JavaScript_去除JS字串两边空格;

去除字符串左右两端的空格,在vbscript里面可以轻松地使用 trim、ltrim 或 rtrim,但在js中却没有这3个内置方法,需要手工编写。下面的实现方法是用到了正则表达式,效率不错,并把这三个方法加入String对象的内置方法中去。 一、写成类的方法格式如下:(str.trim();) <span style="font-size:18px;"><script language

escape函数处理带加号字串问题

在使用Jqery做ajax操作的时候有中文老是乱码!必须的使用escape函数编码才正常,encodeURIComponent等函数都不可以,这是因为url中字符被转义,比如空格被编码成加号,于是加号成了空格。我们可以手工将加号编码成 %2B,eg: escape(str).replace(//+/g, '%2B');这样就可以了 (url转义字符原理 如果表单的action为list.js

秋招突击——算法打卡——5/24——无重复字符的最长字串

题目描述 实现代码 // 无重复字符的最长子串int lengthOfLongestSubstring(string s) {int l = 0,r = 0;int res = 0;unordered_map<char,int> temp;while(l < s.size()){temp[s.at(l)] = l;for (r = l + 1; r < s.size() ; r++) {

今日刷三题(day13):变态跳台阶+包含不超过两种字符的最长字串+字符串的排列

题目一:变态跳台阶 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。 输入输出描述: 输入:3                输出:4 输入:1                输出:1 题目解析: 动态规划思想。 ①  跳上n级台阶,可以站在n-1级跳1级上去,站在n-2级跳2级上去,站在n-3及

P1032 字串变换(replace函数)

题目描述 已知有两个字串 A, B 及一组字串变换的规则(至多6个规则): A1 -> B1 A2 -> B2 规则的含义为:在 A$中的子串 A1 可以变换为 B1、A2 可以变换为 B2 …。 例如:A=’abcd’B=’xyz’ 变换规则为: ‘abc’->‘xu’‘ud’->‘y’‘y’->‘yz’ 则此时,A 可以经过一系列的变换变为 B,其变换的过程为: ‘abcd’

JAVA字串截取

●利用split函数: String s = new String("2_8_7_4_3_9_1"); String[] arr = s.split("_"); ●利用StringTokenizer类: String s = new String("2_8_7_4_3_9_1"); StringTokenizer commaToker = new StringTokenizer(

[Algorithm][滑动窗口][无重复字符的最长字串][最大连续的一个数 Ⅲ][将x减到0的最小操作数]详细讲解

目录 1.无重复字符的最长字串1.题目链接2.算法原理详解3.代码实现 2.最大连续的一个数 Ⅲ1.题目链接2.算法原理详解3.代码实现 3.将x减到0的最小操作数1.题目链接2.算法原理详解3.代码实现 1.无重复字符的最长字串 1.题目链接 无重复字符的最长字串 2.算法原理详解 研究的对象依旧是⼀段连续的区间,因此继续使⽤「滑动窗⼝」思想来优化 滑动窗口 +

ACWING 190. 字串变换(双向bfs)

已知有两个字串 A, B 及一组字串变换的规则(至多6个规则): A1 -> B1 A2 -> B2 … 规则的含义为:在 A 中的子串 A1 可以变换为 B1、A2 可以变换为 B2 …。 例如:A=’abcd’ B=’xyz’ 变换规则为: ‘abc’->‘xu’ ‘ud’->‘y’ ‘y’->‘yz’ 则此时,A 可以经过一系列的变换变为 B,其变换的过程为: ‘abcd’->

蓝桥杯 BASIC-2 01字串

问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。 输入格式 本试题没有输入。 输出格式 输出32行,按从小到大的顺序每行一个长度为5的01串。 样例输出 00000 00001 00010 00011 <以下部分省略> 问题分

(力扣)003.无重复字符的最长字串(c++/c)

题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 示例 1: 输入: s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s = “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: s = “pwwkew” 输出:

C语言每日一题(68)无重复字符的最长字串

题目链接 无重复字符的最长字串 题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长连续子字符串 的长度。 示例 1: 输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子字符串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子字符串是 "b",所以其长度为 1。

华为OJ——公共字串计算

题目描述 题目标题: 计算两个字符串的最大公共字串的长度,字符不区分大小写 详细描述: 接口说明 原型: int getCommonStrLength(char * pFirstStr, char * pSecondStr); 输入参数:      char * pFirstStr //第一个字符串      char * pSecondStr//第二个字符串

删除字串中指定的字符

今天看到同学在做题,要求是:把一个字符串中的所有空格去掉,合并所有字符。例如 输入:abc 123 abc<enter> 输出:abc123abc 很简单吧!! 总结了一下,想到三种简单的处理方法: 第一种:时间复杂度为n^2,空间复杂度为n void delete_3(char* str){int i=0,j=0;while (str[i]){if (str[i]

贡献法求解字串分值和(c++实现)

题目 对于一个字符串 S,我们定义 S 的分值 f(S)为 S中出现的不同的字符个数。例如 f(“aba”)=2,f(“abc”)=3,f(“aaa”)=1。现在给定一个字符串 S[0…n−1](长度为 n),请你计算对于所有 S的非空子串 Si…j,f(S[i…j])的和是多少。 输入格式 输入一行包含一个由小写字母组成的字符串 S。 输出格式 输出一个整数表示答案。 #incl

第十届蓝桥杯大赛个人赛省赛(软件类)真题- CC++ 研究生组-字串数字

3725573269 #include<iostream>#include<map>#include<string>using namespace std;int main(){map<char, int> mp;string s = "LANQIAO";long long ans = 0, power = 1;//7位数的26进制可能会超过int范围for(int i = 1; i

C++11 - 字串字面值

标准C++提供了两种字符串字面值。第一种,包含有双引号,产生以空字符结尾的const char数组。第二种有着前标L,产生以空字符结尾的const wchar_t数组,其中wchar_t代表宽字符。对于Unicode编码的支持尚付阙如。 为了加强C++编译器对Unicode的支持,类别char的定义被修改为其大小至少能够存储UTF-8的8位编码,并且能够容纳编译器的基本字符集的任何成员。 C+

LeetCode:两数之和+两数相加+字符串相乘+无重复字符的最长字串+寻找两个数组的中位数+Z字形变换+整数反转+字符串转换整数(atoi)

目录 1. 两数之和 2. 两数相加 字符串相乘(大数相乘) 3. 无重复字符的最长字串 4. 寻找两个数组的中位数 5. Z字形变换 6.  整数反转 7. 字符串转换整数(atoi) 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能

KY115 后缀字串排序

描述: 对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain 输入描述: 每个案例为一行字符串。 输出描述: 将子串排序输出 示例1 输入:grain输出:aingraininnrain 知识点: 字符串 AC代码: #include <stdio.h>

(Luogu) P1032 字串变换

题目链接 https://www.luogu.org/problemnew/show/P1032 AC代码 #include<bits/stdc++.h>using namespace std;string A,B;int N=0,maxlen=0,minlen=1e6+5;//maxlen,minlen为最长长度 ,最短长度 string a[7],b[7];int res=1e6

蓝桥杯训练 字串统计 (暴力+substr)

算法训练 字串统计   时间限制:1.0s   内存限制:512.0MB     问题描述   给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。 输入格式   第一行一个数字L。   第二行是字符串S。   L大于0,且不超过S的长度。

7.无重复字符的最长字串

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串  的长度。 示例 1: 输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: s = "pwwkew"输

最长无重复字串(滑动窗口法C++)

1.题目描述 输入一个字符串,给出该字符串的最长无重复字符的子串。 2.分析 解题思路1: 暴力解题:遍历所有子串,判断是否无重复子串,把最长的记录下来。 解题思路2: 滑动窗口法:所谓滑动窗口是一个形象的说法。这里指的是使用两个指针left和right表示子串的两端。用一个结构来记录每个字符在窗口中出现的次数。先走右指针right,把右指针指向的字符放入map中,记录此字符出

最长无重复子数组/最长无重复字串详细解法

1.题目:牛客网NC41( 最长无重复子数组) 描述给定一个数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同。子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组 示例输入:[2,2,3,4,3]返回值:3说明:[2,3,4]是最长子数组 2.滑动窗口法解题 此类题目,