当前位置: 首页 > news >正文

彩票网站建设成本株洲做网站

彩票网站建设成本,株洲做网站,wordpress如何接入支付接口,木匠手做网站题目链接 Leetcode.1220 统计元音字母序列的数目 Rating : 1730 题目描述 给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n的字符串: 字符串中的每个字符都应当是小写元音字母(a, e, i, o, u)…

题目链接

Leetcode.1220 统计元音字母序列的数目 Rating : 1730

题目描述

给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n的字符串:

  • 字符串中的每个字符都应当是小写元音字母('a', 'e', 'i', 'o', 'u')
  • 每个元音 'a'后面都 只能 跟着 'e'
  • 每个元音 'e'后面 只能 跟着 'a'或者是 'i'
  • 每个元音 'i'后面 不能 再跟着另一个 'i'
  • 每个元音 'o'后面 只能 跟着 'i'或者是 'u'
  • 每个元音 'u'后面 只能 跟着 'a'

由于答案可能会很大,所以请你返回 模 10^9 + 7之后的结果。

示例 1:

输入:n = 1
输出:5
解释:所有可能的字符串分别是:“a”, “e”, “i” , “o” 和 “u”。

示例 2:

输入:n = 2
输出:10
解释:所有可能的字符串分别是:“ae”, “ea”, “ei”, “ia”, “ie”, “io”, “iu”, “oi”, “ou” 和 “ua”。

示例 3:

输入:n = 5
输出:68

提示:

  • 1<=n<=2∗1041 <= n <= 2 * 10^41<=n<=2104

分析:线性dp

按照题目的要求,合法的组合如下:

  • 结尾是 a的,ea , ua , ia
  • 结尾是 e的,ae , ie
  • 结尾是 i的,ei , oi
  • 结尾是 o的,io
  • 结尾是 u的·,iu , ou

我们定义 f(i,j)f(i,j)f(i,j) 为第 j个字符为 a , e , i , o , u的方案数,f(1,j)f(1,j)f(1,j) 就是第 j个字符为 a的方案数。

按照定义,答案为 ans=(f(1,n)+f(2,n)+f(3,n)+f(4,n)+f(5,n))modMODans = (f(1,n)+f(2,n)+f(3,n)+f(4,n) + f(5,n)) mod MODans=(f(1,n)+f(2,n)+f(3,n)+f(4,n)+f(5,n))modMOD

时间复杂度: O(n)O(n)O(n)

C++代码:

const int MOD = 1e9 + 7;
using LL = long long;
class Solution {
public:int countVowelPermutation(int n) {LL f[6][n+1];memset(f,0,sizeof f);for(int i = 1;i <= 5;i++) f[i][1] = 1;for(int i = 2;i <= n;i++){//ea , ia , uaf[1][i] = (f[2][i-1] + f[3][i-1] + f[5][i-1]) % MOD;//ae , ief[2][i] = (f[1][i-1] + f[3][i-1]) % MOD;//ei , oif[3][i] = (f[2][i-1] + f[4][i-1]) % MOD;//iof[4][i] = (f[3][i-1]) % MOD;//iu , ouf[5][i] = (f[3][i-1] + f[4][i-1]) % MOD;}LL ans = 0;for(int i = 1;i <= 5;i++) ans = (ans + f[i][n]) % MOD;return ans;}
};

Java代码:

class Solution {private final int MOD = 1000_000_007;public int countVowelPermutation(int n) {long[][] f = new long[6][n + 1];for(int i = 1;i <= 5;i++) f[i][1] = 1;//1->a 2->e 3->i 4->o 5->ufor(int i = 2;i <= n;i++){//ea , ia , uaf[1][i] = (f[2][i-1] + f[3][i-1] + f[5][i-1]) % MOD;//ae , ief[2][i] = (f[1][i-1] + f[3][i-1]) % MOD;//ei , oif[3][i] = (f[2][i-1] + f[4][i-1]) % MOD;//iof[4][i] = (f[3][i-1]) % MOD;//iu , ouf[5][i] = (f[3][i-1] + f[4][i-1]) % MOD;}long ans = 0;for(int i = 1;i <= 5;i++) ans = (ans + f[i][n]) % MOD;return (int)ans;}
}
http://www.yayakq.cn/news/818447/

相关文章:

  • 网站建设设计书手机app开发软件教程
  • 二手商品网站制作wordpress评论滑动插件
  • 网站版心怎么做企业服务专区
  • 常用外贸网站做网站需要学习什么
  • 网站注册后能不能注销网站建设培训公司
  • 仿笑话网站源码广州公司招聘
  • 河南住房与城乡建设厅网站科技小巨人培育企业
  • 网站后台更新图片wordpress 默认自带插件
  • 简约 网站 设计专业做网站 优帮云
  • dtu网站开发移动网站建设报价表
  • 企业怎样选择域名做网站无锡网站维护
  • 百度网站建设教程香河家具城网站建设目标
  • 网站开发人员考核信息技术网站开发
  • 安徽道遂建设工程有限公司网站菏泽企业做网站
  • 做美缝在哪个网站接单北京网站制作建设公司哪家好
  • 电商网站建设模型图如何申请建设个人网站
  • 审计局网站建设管理怎么查网站是用什么语言做的
  • 朔州公司做网站广州建设工程交易中心增城电话
  • 做网站还是微信小程序长沙旅游攻略最佳路线
  • 网站空间后台登录学子网站建设
  • 用微软雅黑做网站可以吗企业网站建设的困难和问题
  • 网站开发软件标书范本南宁专业网站营销
  • 做it题的网站网站如何进行品牌建设
  • 网站建设分金手指专业二七wordpress 修改上传文件大小
  • 摄影网站源码 国外百度网盘网址
  • 建设银行积分网站好的做网站架构的书
  • 深圳网站建设公司哪好wordpress使用jquery
  • 网站制作公司 知道万维科技大学网页制作与网站建设
  • 网站设计网站建设公司长沙建个网站要多少钱
  • 广州建设交易中心网站首页中小微企业查询网站