大疆第三题求dji那个怎么做

大疆第三题求dji那个怎么做,有人做出来的吗
全部评论
第三题动态规划算法java实现:如下 时间复杂度应为O(n) 空间复杂度为O(3n) public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); in.nextLine(); for (int i = 0; i < n; i++) { String str = in.nextLine(); System.out.println(getDesignateCount(str.toCharArray())); } in.close(); } public static int getDesignateCount(char[] str) { int dp[][] = new int[3][str.length]; if (str[0] == 'd') dp[0][0] = 1; for (int i = 1; i < str.length; i++) { if (str[i] == 'd') { dp[0][i] = dp[0][i - 1] + 1; continue; } else if (str[i] == 'j' && dp[0][i - 1] > 0) { dp[1][i] = dp[0][i - 1]; dp[0][i] = dp[0][i - 1]; continue; } else if (str[i] == 'i') { int c = 0; for (int k = 0; k < i; k++) c += dp[1][k]; dp[2][i] = c; dp[0][i] = dp[0][i - 1]; continue; } else dp[0][i] = dp[0][i - 1]; } int sum = 0, i = 0; for (; i < str.length; i++) sum += dp[2][i]; return sum; }
点赞 回复 分享
发布于 2017-08-29 23:20
http://paste.ubuntu.com/25425086/
点赞 回复 分享
发布于 2017-08-29 22:48
请问大疆内推途径是什么
点赞 回复 分享
发布于 2017-08-27 20:14
第二题怎么做的?我第三题AC了
点赞 回复 分享
发布于 2017-08-27 13:28
题目是什么?
点赞 回复 分享
发布于 2017-08-27 12:28
能不能贴一下题目啊
点赞 回复 分享
发布于 2017-08-27 10:56
统计每个j之前的d的个数和j之后的i的个数,然后乘机的和就是结果
点赞 回复 分享
发布于 2017-08-27 10:46

相关推荐

评论
点赞
收藏
分享

创作者周榜

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