3.小红的字符串计数-腾讯娱乐集团2022暑期实习生招聘技术类岗位

 

 

动态规划

 

dp[n][k] = dp[n - 1][k] + 25 * dp[n - 1][k - 1];

1个字符是无效的连续字符段;

2个及以上才是有效的连续字符段

 

 

复制代码
 1 import java.util.*;
 2 
 3 
 4 public class Solution {
 5     /**
 6      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 7      *
 8      * 
 9      * @param n int整型 
10      * @param k int整型 
11      * @return int整型
12      */
13     public int numsOfStrings (int n, int k) {
14         // write code here
15         int[][] dp = new int[n + 1][k + 1];
16         dp[0][0] = 1;
17         dp[1][0] = 1;
18         dp[2][1] = 26;
19         if(n > 2) dp[3][1] = 26;
20         for(int i = 4; i <= n; ++i){
21             int tk = n >> 1;
22             tk = Math.min(k, tk);
23             for(int j = 1; j <= tk; ++j){
24                 dp[i][j] = dp[i - 1][j] + 25 * dp[i - 2][j - 1];
25                 dp[i][j] %= 1000000;
26             }
27         }
28         
29         return dp[n][k];
30     }
31 }
复制代码

 

posted @   草莓小甜心  阅读(398)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示