每日OJ_牛客_字符串计数(模拟26进制)

news2024/11/11 5:03:05

目录

牛客_分解因数(简单模拟)

解析代码


牛客_分解因数(简单模拟)

字符串计数_美团笔试题_牛客网


解析代码

        题目意思:按照字典序列:找到s1和s2之间长度在len1和len2范围内的字符串个数。直接做不好处理,此处需要转化思路,找到一个合适的模型:因为从‘a’~'z',刚好有26个字母,因此可以将s1 和s2看成是26进制数据,题目就变得简单了,将其转化为:从s1和s2之间有多少个不同数字,最后求解出长度不同的数组的个数即可。

思路:

  1. 循环接受收入,保证所有测试用例可以验证到。
  2. 将s1和s2补齐到len2位,因为在字典序列中s1比s2靠前,因此s1后序所有位补'a',s2后 补'z'+1。
  3. 确认s1和s2两个字符串每个字符位置上的差值。
  4. 确认len1和len2之间不同字符的个数。
  5. 注意输出时需要模1000007。
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#define N 1000007
using namespace std;

int main() // 补齐字符串,按照26进制进行计算
{
	string s1, s2;
	int len1 = 0, len2 = 0;
	while (cin >> s1 >> s2 >> len1 >> len2)
	{
		// 将该字符串看成是26进制数,为了简单起见,将s1和s2补长到len2长度
		// 注意:s2补的是'z'+1, 因为'z' - 'a' = 25
		s1.append(len2 - s1.size(), 'a');
		s2.append(len2 - s2.size(), (char)('z' + 1));

		vector<int> arr(len2); // 确认s1和s2的两个字符串每个位置上的差值
		for (int i = 0; i < len2; ++i)
		{
			arr[i] = s2[i] - s1[i];
		}

		int result = 0; // 确认len1和len2之间可组成的不同字符串的个数
		for (int i = len1; i <= len2; ++i)
		{
			for (int k = 0;k < i;k++)
			{
				result += arr[k] * pow(26, i - 1 - k);
			}
		}
		//所有字符串最后都不包含是s2自身,所以最后要减1;
		cout << (result - 1) % N << endl;
	}
	return 0;
}

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

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

相关文章

UE4 使用AndroidGameDevelopmentExtension(AGDE)对安卓客户端做“断点调试”与“代码热更”

本文的目的 主要介绍了如何通过AndroidGameDevelopmentExtension工具、Visual Studio 2022来进行安卓包调试。 流程全过程 1、安装JDK、Gradle、Android NDK、Android SDK等环境如下&#xff0c;请自行前往官网下载&#xff0c;并确认环境参数配置正确。 2、安装 AndroidGame…

黑悟空上线即登顶,如何一路火遍全网?哪些营销方式值得关注?

几乎人人都有一个大圣梦&#xff0c;就像每个品牌也都想成为“黑神话&#xff1a;悟空”&#xff08;以下简称“黑悟空”&#xff09;。 作为国内首款3A游戏&#xff0c;黑悟空上线即登顶&#xff0c;直接刷爆全网。虽然目前热度渐歇&#xff0c;但创造的流量神话仍被津津乐道。…

大佬借助ChatGPT写论文发刊到手软,四个步骤20个顶级学术提示词指令

大家好,感谢关注。我是七哥,一个在高校里不务正业,折腾学术科研AI实操的学术人。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥(yida985)交流,多多交流,相互成就,共同进步,为大家带来最酷最有效的智能AI学术科研写作攻略。经过数月爆肝,终于完成学术AI使用教…

Mybatis【分页插件,缓存,一级缓存,二级缓存,常见缓存面试题】

文章目录 MyBatis缓存分页延迟加载和立即加载什么是立即加载&#xff1f;什么是延迟加载&#xff1f;延迟加载/懒加载的配置 缓存什么是缓存&#xff1f;缓存的术语什么是MyBatis 缓存&#xff1f;缓存的适用性缓存的分类一级缓存引入案例一级缓存的配置一级缓存的工作流程一级…

《OpenCV计算机视觉》—— 图像形态学(腐蚀、膨胀等)

文章目录 一、图像形态学基本概念二、基本运算1.简单介绍2.代码实现 三、高级运算1.简单介绍2.代码实现 一、图像形态学基本概念 图像形态学是图像处理科学的一个独立分支&#xff0c;它基于集合论和数学形态学的理论&#xff0c;专门用于分析和处理图像中的形状和结构。图像形…

分贝通助力元气森林企业支出一体化降本提效

凭借着“0糖0脂0卡”这句广告语,元气森林几乎是一锤砸中了年轻消费者的内心,让“好喝不胖”深入人心,成为了国内饮品消费的新风向标。如果我们从近两年的快消饮品中选出几款深受消费者喜爱的“国货品牌”的话,相信「元气森林」一定上榜。 元气森林成立于2016年,旗下拥有元气森林…

深入理解并实现——快排【C语言版】

目录 一、快排介绍及其思想 二、hoare版本 三、前后指针版 四、挖坑法 五、优化版本 5.1 三数取中 5.2 小区间优化 六 、非递归实现快排 七、三路划分 八、introsort 小结 一、快排介绍及其思想 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一…

【数据结构】Map的使用与注意事项

文章目录 概念模型Map 的使用put() 和 get()getOrDefault()remove()keySet()entrySet() 注意事项 概念 Map 和 set 是一种专门用来进行搜索的容器或者数据结构&#xff0c;其搜索的效率与其具体的实例化子类有关。 以前常见的搜索方式有&#xff1a; 直接遍历&#xff0c;时间…

Spring AOP(下)原理

本文我们来学习 Spring AOP 的原理&#xff0c;也就是 Spring 是如何实现 AOP 的。Spring AOP 是基于动态代理来实现 AOP 的&#xff1b; 1. 代理模式 1.1 代理弄模式的定义 代理模式&#xff0c;也叫委托模式。 定义&#xff1a;为其他对象提供一种代理以控制这个对象的访问…

【第三版 系统集成项目管理工程师】第14章 收尾过程组

持续更新。。。。。。。。。。。。。。。 【第三版】第十四章 收尾过程组 14.1结束项目或阶段14.1.1主要输入1.项目章程-P5392.项目管理计划-P5393.项目文件-P5394.验收的可交付成果-P5405.协议-P5406.采购文档-P540 14.1.2主要输出1.最终产品、服务或成果-P5402.项目最终报告…

如何在IntelliJ IDEA中将Tab设置为4个空格

前言 IntelliJ IDEA是一个强大的开发工具&#xff0c;支持多种编程语言。为了保持代码整洁一致&#xff0c;开发者经常需要调整编辑器中的Tab和缩进设置。 步骤1: 打开设置 首先&#xff0c;启动IntelliJ IDEA。在主界面上方的菜单栏中找到 File&#xff08;文件&#xff09…

体育直播平台开发:初创公司突破资金与市场的双重挑战

在当今竞争激烈的数字娱乐行业中&#xff0c;体育直播平台的发展潜力巨大。然而&#xff0c;面对如此巨大的蓝海市场&#xff0c;对于初创公司或中小型平台而言&#xff0c;高昂的开发和运营成本可能成为进入该行业的主要障碍。本文将探讨一些可行的低成本开发策略&#xff0c;…

Matlab三维图的坐标轴标签 自动平行坐标/自动旋转

下载解压工具包&#xff1a; https://www.mathworks.com/matlabcentral/fileexchange/49542-phymhan-matlab-axis-label-alignment 添加至MATLAB路径: 在三维绘图后增加下列语句即可 ax struct(Axes, gca); align_axislabel([],ax) h3d rotate3d; set(h3d,ActionPreCa…

k8s项目的发布(金丝雀发布)

目录 三种发布方式 1.蓝绿发布 2.金丝雀发布&#xff08;灰度发布&#xff09; 实验&#xff1a;k8s实现金丝雀发布 3.滚动发布&#xff08;默认形式&#xff09; 因为应用升级以及新旧业务切换&#xff0c;所以在这个过程当中如何保证对外的服务正常是一个非常重要的问题…

/单元测试

承接上文 统一异常处理&#xff0c;封装结果-CSDN博客 ******************************************** 登录业务 Service public class EmployeeServiceImpl extends ServiceImpl<EmployeeMapper, Employee> implements EmployeeService {Resourceprivate JwtUtils j…

深入探索批处理中的变量与命令:从基础到高级

更多内容前往&#xff1a;孔乙己大叔 在Windows环境中&#xff0c;批处理&#xff08;Batch&#xff09;文件是一种非常有用的脚本工具&#xff0c;允许用户自动化重复性任务。通过编写批处理脚本&#xff0c;用户可以执行一系列命令&#xff0c;而无需手动输入每个命令。变量是…

怎么把视频压缩变小?快码住这篇视频压缩教程

众所周知&#xff0c;视频已经成为人们交流信息的重要方式之一。 然而&#xff0c;随着视频分辨率越来越高&#xff0c;文件大小也随之膨胀&#xff0c;这给存储空间带来了不小的压力&#xff0c;同时也影响了视频在网络上的传输速度。 因此&#xff0c;掌握视频压缩技巧&…

E1.S接口如何解决SSD过热问题?

针对SSD接口标准&#xff0c;目前业内有两大组织&#xff1a; PCI-SIG&#xff1a;这个就是定义pcie协议标准的那个组织&#xff0c;我们常见的传统接口M.2, U.2, 2.5英寸的接口都归这个组织定义规范。M.2&#xff0c;U.2起源与客户端&#xff0c;也是企业级当前最常用的接口形…

Day22_K8S

文章目录 3.资源管理方式通过命令管理通过配置文件管理4. 基本概念入门4.1 Namespace4.2 Pod4.3 Label4.4 Deployment4.5 Service5. Pod详解5.1 Pod介绍5.2 Pod配置5.3 Pod生命周期5.3.1 初始化容器5.3.2 钩子函数5.3.3 容器探测5.3.4 重启策略5.4 Pod调度5.4.1 定向调度5.4.2 …

【技巧】Excel检查单元格的值是否在另一列中

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 用到的excel函数 IF(ISNUMBER(MATCH(H2, I2:I10, 0)), H2, "") 注意改上面的“H2、I2、I10”&#xff01; 函数效果 函数解释 检查单元格 …