String Shifting- 今日头条校招2016-09-28在线编程题
题目1: String Shifting
题目描述:
我们规定对一个字符串的shift操作如下:
shift("ABCD",0)="ABCD"
shift("ABCD",1)="BCDA"
shift("ABCD",2)="CDAB"
换言之, 我们把最左侧的N个字符剪切下来, 按序附加到右侧.
给定一个长度为n的字符串, 规定最多可以进行n次循环shift操作。
如果shift(string, x) = string(0 <= x < n)
. 我们称其为一次匹配(match), 求shift过程中匹配的次数…
输入描述
输入仅包括一个输入的字符串, 字符串中仅有大小写字母
输出描述
输出仅包括一行, 即匹配的次数
样例输入:
byebyebye
样例输出:
3
hint:
30%的样例中输入字符串的长度<100,
100%的样例中输入字符串的长度<10^6
public class Main {public char[] reverse(char[] array, int b, int e) {char temp;for (; b < e; b++, e--) {temp = array[b];array[b] = array[e];array[e] = temp;}return array;}//reversepublic String shift(String s, int k) {if (k == 0) {return s;}int n = s.length();char[] array = s.toCharArray();array = reverse(array, 0, n - k - 1);array = reverse(array, n - k, n - 1);array = reverse(array, 0, n - 1);return String.valueOf(array);}//shiftpublic int match(String s) {int count = 0, n = s.length();String s2 ;for (int i = 0; i <n; i++) {s2 = shift(s,i);System.out.println(i+","+s2);if (s.equals(s2)) {count++;}}//forreturn count;}//matchpublic static void main(String[] args) {Main main = new Main();String s = "byebyebye";System.out.println(main.match(s));}//main
}
//0,byebyebye
//1,ebyebyeby
//2,yebyebyeb
//3,byebyebye
//4,ebyebyeby
//5,yebyebyeb
//6,byebyebye
//7,ebyebyeby
//8,yebyebyeb
//3
String Shifting- 今日头条校招2016-09-28在线编程题相关推荐
- 百度2016研发工程师在线编程题
题目链接:http://www.nowcoder.com/test/question/analytic?tid=1667855 [编程题]罪犯转移 C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入 ...
- 蘑菇街2016研发工程师在线编程题 - 题解
今天无聊地蛋疼,所以在牛客网随便找了套题做做,随手写了下解题报告,套题链接:点这里 总体来说这套题就考了下贪心和模拟,最后一题考了一个经典的动态规划,其实也有别的方法可以搞,这题对于大家练手还是不错的 ...
- 钓鱼比赛(平均概率公式:1 - (1-p)^ t)----百度2016研发工程师在线编程题
[编程题] 钓鱼比赛 ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子每分钟有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子.问t分钟后他们谁至少钓到一条鱼的 ...
- 华为校招2016.09机试 第2题: 字符串查找
华为校招2016.09机试 第2题: 字符串查找 描述: 输入两个字符串,查找字符串1中与字符串2最先匹配的内容,将匹配的字符串输出.字符串2支持?通配符,?代表任意一个字符. 已知字符串2不可能出现 ...
- js解析二维码_最新最全阿里巴巴,今日头条,腾讯Flutter面试真题全解析(狂虐不止)...
阿里巴巴,今日头条,腾讯Flutter面试真题全解析.你只有去过大厂,才知道大厂的面试有多难,这个难度不是你能够想象得到的.所以说如果想去做这方面的工作,建议把以下内容好好准备一下(其实也就是多看一些 ...
- 网易2016游戏技术岗在线编程题(一)
题目来源:牛客网-网易2016年研发工程师编程题. 1.小易的升级之路 小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪 ...
- 58同城2020校招转转算法岗笔试编程题
58同城2020校招转转算法岗笔试编程题 第一题 题目描述:年末了要评选优秀员工了,给定一个优秀员工比率,在员工的评分上计算出能被选中的优秀员工的评分阈值.优秀员工人数=员工人数*优秀员工比率.员工人 ...
- 搜狗2016校园招聘之编程题解析-大数据开发
搜狗2016校园招聘之编程题解析-大数据开发 解题思路: 使用JDK中的Point2D类,该类定义了坐标系空间中的一个点 Point2D是一个抽象类,但是在该类内部定义了静态的Double类,并且Do ...
- 网易2016游戏技术岗在线编程题(二)
题目来源:牛客网-网易2016年研发工程师编程题二. 1. 奖学金 小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg.每门课由平时成绩和考试成绩组成,满分为r.现在 ...
- 今日头条校招2016-09-28在线编程题(2题)
题目1: String Shifting 题目描述: 我们规定对一个字符串的shift操作如下: shift("ABCD",0)="ABCD" shift(&q ...
最新文章
- [原]Java 正则 多子串 匹配 替换
- Kubernetes客户端client-go简介
- Oxite移植到ASP.NET MVC2 BETA 笔记(关于Html.RenderPartialFromSkin)
- BestCoder Round #86 1003 HDU 5806——NanoApe Loves Sequence Ⅱ
- python去空格的函数_Python怎么去掉最后的空格
- Entity Framework 4.1 DbContext使用记之三——如何玩转实体的属性值?
- 王道 计算机网络试题讲解_计算机考研-统考计算机网络(2009-2012)试题及精心解析...
- 一文详解深度相机之TOF成像
- java查看eth转账状态_eth交易记录input解析
- 批量下载网页上ts视频文件(撸sir!你还在为下载小电影而苦恼吗?)
- 以预测股票涨跌案例入门基于SVM的机器学习
- iOS 播放视频的基本步骤
- e4a php上传,POST上传文件(E4A)
- 康威定律,作为架构师还不会灵活运用?
- [转]stm32 sdio写入速度 SD卡【好文章】[F1开发板通用] 战舰STM32F103开发板 SDIO写入速度测试(使用FATFS)
- hibernate之多对多映射操作中间表
- SpringMVC之使用SpringMVC获取参数与返回数据
- 软件系统产品信息安全功能点要求
- redis可以代替mysql 吗_redis是否可以代替mysql
- 记录EVE-NG抓包时wireshark报错Connection abandoned.