int clockPath(int n) {     if (n & 1) return 0;     int dp[12] = {0};     dp[0] = 1;     for (int i = 1; i <= n; i ++ ) {         if (i & 1) {             for (int j = 1; j < 12; j += 2 )                 dp[j] = dp[j-1] + dp[(j==11?0:j+1)];         }         else {             for (int j = 0; j < 12; j += 2 )                 dp[j] = dp[(j==0?11:j-1)] + dp[j+1];         }     }     return dp[0]; } 这个是改进后的动态规划算法,空间复杂度降为O(1),需要稍微想一下,其实就是利用奇偶性错位更新
点赞 评论

相关推荐

10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司6个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务