美文网首页
网易2017暗黑的字符串题

网易2017暗黑的字符串题

作者: Veteor | 来源:发表于2016-09-26 19:27 被阅读0次

题目:

一个只包含'A'、'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'、'B'和'C'各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如:
BAACAACCBAAA 连续子串"CBA"中包含了'A','B','C'各一个,所以是纯净的字符串
AABBCCAABB 不存在一个长度为3的连续子串包含'A','B','C',所以是暗黑的字符串
你的任务就是计算出长度为n的字符串(只包含'A'、'B'和'C'),有多少个是暗黑的字符串。

分析:

1、当n=1的时候,暗黑个数为3;当n=2的时候暗黑字符串为9
2、当n=3的时候,利用排列组合,得出3x3+3x2x2 = 21种情况,
3x3表示XXY型,XX可以是AA、BB、CC,当XX确定后,Y可以是ABC中的任何一个。3x2x2,表示XY_型,先确定X有三种情况,Y不和X一样只能有两种情况,第三个位置必须和前面两个位置中其中的一个相同,所有有两种情况
4、当n=4的时候,先确定前三位,当XXX_,有3x3种可能,当XX_ _时(AABA,AABB,.....),XX位置有三种可能,第三位有两种可能,第四位有两种可能,有3x2x2种可能。同理,有XXX有3x3种可能, XX有3x2x2种可能。当XY时,(X,已经在XXXXXX中包含,同理Y也已经被包含)X位置有三种可能,Y位置也有三种可能,共3x3种可能
5、 n=1 暗黑个数=3
n=2 暗黑个数=9
n=3 暗黑个数=3x3+3x2x2 = 21
n=4 暗黑个数=2x(3x3+3x2x2)+3*3 = 2x21+9
由此发现:n=3的暗黑数是n=2时的暗黑数的2倍加上n=1时候的暗黑数
n=4的暗黑数是n=3时的暗黑数的2倍加上n=2时候的暗黑数

public static long cal(int n){
        if(n==1)
            return 3;
        else if(n==2)
            return 9;
        
        return 2*cal(n-1)+cal(n-2);
    }

相关文章

  • 网易2017暗黑的字符串题

    题目: 一个只包含'A'、'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'、'B'和'C'各有...

  • 网易0912——暗黑的字符串

    题目 暗黑字符串 一个只包含'A'、'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'、'B'和...

  • YY系列--微信群,社群

    昨晚在朋友圈看到朋友分享的2017网易校招的笔试题,产品岗的,网易是5个主观题没有选择题,朋友自己评论自己想找人探...

  • 每周新游预告-2021年11.29-12.05

    本周(11.29-12.05)新游预告: 1、【暗黑破坏神:不朽】 《暗黑破坏神:不朽》是暴雪娱乐与网易联合出品的...

  • 2018-08-16 计算字符串中相邻位置相同字符的个数(1)

    牛客上的网易游戏研发面经上看到的题,题目描述我直接复制黏贴过来:1)单字符串压缩 : 输入:ABBBCCD , 输...

  • 网易算法题

    题目:输入n,k,寻找这样的二元组(x,y)要求满足:x,y均小于n,x%y>=k.` 开始我直接想到的就是建立n...

  • 堆砖块

    网易居然挂了我。。所以做一题网易的。。https://www.nowcoder.com/question/next...

  • LeetCode 784. Letter Case Permut

    原题链接原题大意:给定字符串s,字符串中每个字母的大小写不同可组成新的字符串,求出可能组成的全部字符串。下面是给出...

  • 网易企业服务2017年终大盘点

    近日,网易(NASDAQ:NTES)宣布了公司2017年财务年度未经审计财务业绩。数据显示,网易2017年净收入为...

  • 网易2017春招试题刷题经历

    花了几天时间才做完一套试题,挺慢,不过收获不小,写一下自己的解题思路。试题链接 双核处理 解题思路 一个cpu处理...

网友评论

      本文标题:网易2017暗黑的字符串题

      本文链接:https://www.haomeiwen.com/subject/wbbqyttx.html