题目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在线编程题相关推荐

  1. 百度2016研发工程师在线编程题

    题目链接:http://www.nowcoder.com/test/question/analytic?tid=1667855 [编程题]罪犯转移 C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入 ...

  2. 蘑菇街2016研发工程师在线编程题 - 题解

    今天无聊地蛋疼,所以在牛客网随便找了套题做做,随手写了下解题报告,套题链接:点这里 总体来说这套题就考了下贪心和模拟,最后一题考了一个经典的动态规划,其实也有别的方法可以搞,这题对于大家练手还是不错的 ...

  3. 钓鱼比赛(平均概率公式:1 - (1-p)^ t)----百度2016研发工程师在线编程题

    [编程题] 钓鱼比赛 ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子每分钟有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子.问t分钟后他们谁至少钓到一条鱼的 ...

  4. 华为校招2016.09机试 第2题: 字符串查找

    华为校招2016.09机试 第2题: 字符串查找 描述: 输入两个字符串,查找字符串1中与字符串2最先匹配的内容,将匹配的字符串输出.字符串2支持?通配符,?代表任意一个字符. 已知字符串2不可能出现 ...

  5. js解析二维码_最新最全阿里巴巴,今日头条,腾讯Flutter面试真题全解析(狂虐不止)...

    阿里巴巴,今日头条,腾讯Flutter面试真题全解析.你只有去过大厂,才知道大厂的面试有多难,这个难度不是你能够想象得到的.所以说如果想去做这方面的工作,建议把以下内容好好准备一下(其实也就是多看一些 ...

  6. 网易2016游戏技术岗在线编程题(一)

    题目来源:牛客网-网易2016年研发工程师编程题. 1.小易的升级之路 小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪 ...

  7. 58同城2020校招转转算法岗笔试编程题

    58同城2020校招转转算法岗笔试编程题 第一题 题目描述:年末了要评选优秀员工了,给定一个优秀员工比率,在员工的评分上计算出能被选中的优秀员工的评分阈值.优秀员工人数=员工人数*优秀员工比率.员工人 ...

  8. 搜狗2016校园招聘之编程题解析-大数据开发

    搜狗2016校园招聘之编程题解析-大数据开发 解题思路: 使用JDK中的Point2D类,该类定义了坐标系空间中的一个点 Point2D是一个抽象类,但是在该类内部定义了静态的Double类,并且Do ...

  9. 网易2016游戏技术岗在线编程题(二)

    题目来源:牛客网-网易2016年研发工程师编程题二. 1. 奖学金 小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg.每门课由平时成绩和考试成绩组成,满分为r.现在 ...

  10. 今日头条校招2016-09-28在线编程题(2题)

    题目1: String Shifting 题目描述: 我们规定对一个字符串的shift操作如下: shift("ABCD",0)="ABCD" shift(&q ...

最新文章

  1. [原]Java 正则 多子串 匹配 替换
  2. Kubernetes客户端client-go简介
  3. Oxite移植到ASP.NET MVC2 BETA 笔记(关于Html.RenderPartialFromSkin)
  4. BestCoder Round #86 1003 HDU 5806——NanoApe Loves Sequence Ⅱ
  5. python去空格的函数_Python怎么去掉最后的空格
  6. Entity Framework 4.1 DbContext使用记之三——如何玩转实体的属性值?
  7. 王道 计算机网络试题讲解_计算机考研-统考计算机网络(2009-2012)试题及精心解析...
  8. 一文详解深度相机之TOF成像
  9. java查看eth转账状态_eth交易记录input解析
  10. 批量下载网页上ts视频文件(撸sir!你还在为下载小电影而苦恼吗?)
  11. 以预测股票涨跌案例入门基于SVM的机器学习
  12. iOS 播放视频的基本步骤
  13. e4a php上传,POST上传文件(E4A)
  14. 康威定律,作为架构师还不会灵活运用?
  15. [转]stm32 sdio写入速度 SD卡【好文章】[F1开发板通用] 战舰STM32F103开发板 SDIO写入速度测试(使用FATFS)
  16. hibernate之多对多映射操作中间表
  17. SpringMVC之使用SpringMVC获取参数与返回数据
  18. 软件系统产品信息安全功能点要求
  19. redis可以代替mysql 吗_redis是否可以代替mysql
  20. 记录EVE-NG抓包时wireshark报错Connection abandoned.

热门文章

  1. 程序员进阶攻略笔记01-10
  2. word的xml文件中空白页和换页
  3. FastAPI + tortoise-orm基础使用
  4. ubuntu桌面便签_在Ubuntu 上有什么必装的实用软件?
  5. Ubuntu iwlwifi网卡驱动
  6. 医药电商行业概况及发展趋势!
  7. 一文搞懂Oracle字符集
  8. Vue 正确理解mounted、beforeUpdate、updated三个钩子函数的关系
  9. 高明领导不说狠话、不画大饼、不灌鸡汤,打造狼性团队就靠这9条
  10. android 耳机检测,android 检测耳机是否插入方法