网易刚刚编程题:暗黑串

大家是怎么推导的? 我看了好久才看明白 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

相关推荐

昨天 19:47
中南大学 Java
点赞 评论 收藏
分享
05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
06-20 15:23
门头沟学院 Java
难道你们背八股都不觉得累?现在每天背八股背的我想吐
想去大厂的土豆子:累不累都是对比出来的,八股可比高考、考研轻松多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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