网易刚刚编程题:暗黑串

大家是怎么推导的? 我看了好久才看明白 2 对应是 9 。。#网易##58集团#
全部评论
f(n-2)里的字符串,每个字符串的末尾都添加和当前末尾相同的字符串,不就是f(n-1)里的结尾为AA,BB或CC的字符串吗。 f(n) = f(n-2)*3 + 2(f(n-1)-f(n-2))     // f(n-1)里面有f(n-2)个以AA,BB,CC结尾的字符串,这种结尾的,新字符可以是任意的 剩下的就是两个不同字符串结尾的,新字符串有两种选择。
点赞 回复 分享
发布于 2016-09-12 21:12
你们三道题都撸出来了吗?
点赞 回复 分享
发布于 2016-09-12 20:38
这个题目考的是推理,不是编程哈
点赞 回复 分享
发布于 2016-09-12 21:47
2对应9我都没看出来 求解
点赞 回复 分享
发布于 2016-09-12 21:25
package com.reno.newwangyi; import java.util.Scanner; public class black { static long summy = 0; public static void same(long deep, long last, long maxdeep) { if (maxdeep == deep) { summy += last; return; } same(deep + 1, last, maxdeep); diff(deep + 1, last * 2, maxdeep); } public static void diff(long deep, long last, long maxdeep) { if (maxdeep == deep) { summy += last; return; } diff(deep + 1, last, maxdeep); same(deep + 1, last, maxdeep); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { summy=0; long n = sc.nextInt(); if (n == 1) { System.out.println(3); continue; } if (n == 2) { System.out.println(9); continue; } same(1, 1, n); long out = 3*summy; System.out.println(out); } } }
点赞 回复 分享
发布于 2016-09-12 21:16
只考虑最后两个字符 相同时后面可以跟ABC三种情况,不同时两种,然后找下n最后两个字符和n-1的关系
点赞 回复 分享
发布于 2016-09-12 20:39
求解
点赞 回复 分享
发布于 2016-09-12 20:37
f(n)=2*f(n-1)+f(n-2)
点赞 回复 分享
发布于 2016-09-12 20:37
没看懂题直接跳过,做了第三题(⊙o⊙)…
点赞 回复 分享
发布于 2016-09-12 20:37

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
程序员牛肉:1.大头肯定是院校问题,这个没啥说的。 2.虽然有实习,但是实习的内容太水了,在公司待了七个月的时间,看起来就只做了jwt和接入redis。爬取新闻,数据导入。这几个需求值得你做七个月吗?这不就是三四个月的工作量吗?我要是面试官的话真心会认为你能力不太行。所以既然有实习了,一定要好好写,像是Swagger这种东西是真没必要写上去,就拉一个包的事情。 3.我个人觉得话,在校生不要把自己当社招看,除非你的项目是特别牛逼,特别有名的含金量,否则不要写这种密密麻麻的一串子工作职责。你的项目只有一个作用,就是供面试官从中来抽取八股对你进行拷打。 但是你现在这个看不来什么技术点,可以改一下,详细表述一下你用什么技术实现了什么功能,在实现这个功能的过程中,你解决了什么难题。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务