牛客 小米校招 小明的字符串 循环队列
题目描述
小明同学需要对一个长度为 N 的字符串进行处理,他需要按照要求执行若干步骤,每个步骤都均为下面 2 种操作中的一种,2 种操作如下:
TYPE 1. 从字符串结尾开始算起,将第 X 个字符之前的字符移动到字符串末尾
TYPE 2. 输出字符串索引为 X 的字符
小明尝试了很久没能完成,你可以帮他解决这个问题吗?
输入描述:
第一行,包含两个整数,字符串的长度 N 和操作次数T;
第二行为要操作的原始字符串;
之后每行都是要执行的操作类型 TYPE 和操作中 X 的值,均为整数。
输入范围:
字符串长度 N:1 <= N <= 10000
操作次数 T:1 <= T <= 10000
操作类型 TYPE:1 <= TYPE<= 2
变量 X:0 <= X < N
输出描述:
操作的执行结果
示例1
输入
复制
6 2
xiaomi
1 2
2 0
输出
复制
m
不要傻傻的去剪切字符串,分析题目明摆着的循环队列方法
只需要计算一下偏移量即可
- 用pospospos表示当前开头下标在哪里(开始时是000)
- 每次操作KKK都会相当于把pospospos向前移动了KKK个单位,越界要从屁股后面进来
- 计算KKK位置的字符 : str[(pos+K)%len]str[(pos+K)\%len]str[(pos+K)%len]
cin >> n >> m >> str;
int pos = 0; //pos表示开头下标的偏移量
while(m--) {int cmd;cin >> cmd >> K;if(cmd == 1) {pos += (n-K); //相当于把开头向前推,越界从后面进来pos %= n;} else {cout << str[(pos+K)%n] << endl;}
}
牛客 小米校招 小明的字符串 循环队列相关推荐
- 牛客 小米校招 最大新整数 单调栈
题目描述 有一十进制正整数,移除其中的 K 个数,使剩下的数字是所有可能中最大的. 假设: 字符串的长度一定大于等于 K 字符串不会以 0 开头 输入描述: 一行由正整数组成的数字字符串,和一个正整数 ...
- 牛客 小米校招 计算题 单调栈 接雨水
给定n个非负整数表示每个宽度为1的柱子的高度题,计算按此排列的柱子,下雨之后能接多少雨水. 经典的题目 leetcode 42 接雨水 单调栈 保持栈内单调递减 每次把一个矮的出栈都能够加上一大块面积 ...
- 牛客 小米校招 分布式集群消息传递最短路模板题
题目描述 有一个分布式服务集群,集群内含有 N 个服务节点,分别标记为 1 到 N. 给予一个列表 times,表示消息从两个节点间有向传递需要的时间. times[i] = (s, d, t),其中 ...
- 牛客题霸 [拼接所有的字符串产生字典序最小的字符串] C++题解/答案
牛客题霸 [拼接所有的字符串产生字典序最小的字符串] C++题解/答案 题目描述 给定一个字符串的数组strs,请找到一种拼接顺序,使得所有的字符串拼接起来组成的字符串是所有可能性中字典序最小的,并返 ...
- 赛码网: 小明很喜欢打字,今天小红给了小明一个字符串。
题目 时间限制: 3000MS 内存限制: 589824KB 题目描述: 小明很喜欢打字,今天小红给了小明一个字符串. 这个字符串只包含大写和小写字母. 我们知道,按下CapsLock键,可以切换大小 ...
- 【百日冲大厂】第二篇,牛客网选择题+排序子序列+倒置字符串
前言: 大家好,我是良辰丫,今天是刷题的第二篇,牛客网选择题+排序子序列+倒置字符串,每天都去努力,每天都庆幸今天的自己比昨天的自己更优秀,加油,为理想而努力吧!!!
- 牛客竞赛语法入门班数组栈、队列和stl习题
牛客竞赛语法入门班数组栈.队列和stl习题 L 指纹锁 set ,自带排序功能 可重写排序函数 cmp,注意外边写的要写成 operator()operator()operator(),结构体内部的排 ...
- 小明的字符串--牛客
小明同学需要对一个长度为 N 的字符串进行处理,他需要按照要求执行若干步骤,每个步骤都均为下面 2 种操作中的一种,2 种操作如下: TYPE 1. 从字符串结尾开始算起,将第 X 个字符之前的字符移 ...
- 牛客网错题集合之字符串(一)
[不定项选择题] 已知一段文本有1382个字符,使用了1382个字节进行存储,这段文本全部是由a.b.c.d.e这5个字符组成,a出现了354次,b出现了483次,c出现了227次,d出现了96次,e ...
最新文章
- 数字图像处理:第二十二章 基于模型的编码
- hdu 3183 A Magic Lamp(给一个n位的数,从中删去m个数字,使得剩下的数字组成的数最小(顺序不能变),然后输出)...
- 如何打造一支高效的AI团队
- linux awk列数据处理工具使用示例
- MySQL(4) 索引、事务与存储引擎
- 为什么ABAP里有些场景必须加上COMMIT WORK才生效
- 番茄工作法—《可以量化的管理学》
- springmvc注解小示例(转)
- java递归空瓶换饮料_问题描述:一次买n瓶可乐,k个空瓶可以换一瓶饮料,那么一共能喝多少瓶饮料? | 学步园...
- 产品经理必须要掌握的12种思维模型
- Linux Shell脚本入门教程系列之(九)Shell判断 if else 用法
- Python+matplotlib绘制箱线图并设置异常值、中值、均值显示格式
- 让php来搞定一切!,ubuntu安装和配置php5
- 20200114:(leetcode)两数相加
- [51nod1116]K进制下的大数
- 自己工资自己算,策略设计模式(Strategy)
- HNOI2002(伸展树)
- CCC认证有没有2019年新的具体的收费标准
- txt转mobi格式
- 与亲哥决裂20年,董明珠被踢出族谱:帮你是情分,不帮你是本分