news 2026/9/10 1:45:27

LeetCode //C - 1220. Count Vowels Permutation

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode //C - 1220. Count Vowels Permutation

1220. Count Vowels Permutation

Given an integer n, your task is to count how many strings of length n can be formed under the following rules:

  • Each character is a lower case vowel (‘a’, ‘e’, ‘i’, ‘o’, ‘u’)
  • Each vowel ‘a’ may only be followed by an ‘e’.
  • Each vowel ‘e’ may only be followed by an ‘a’ or an ‘i’.
  • Each vowel ‘i’ may not be followed by another ‘i’.
  • Each vowel ‘o’ may only be followed by an ‘i’ or a ‘u’.
  • Each vowel ‘u’ may only be followed by an ‘a’.

Since the answer may be too large, return it modulo 10^9 + 7.

Example 1:

Input:n = 1
Output:5
Explanation:All possible strings are: “a”, “e”, “i” , “o” and “u”.

Example 2:

Input:n = 2
Output:10
Explanation:All possible strings are: “ae”, “ea”, “ei”, “ia”, “ie”, “io”, “iu”, “oi”, “ou” and “ua”.

Example 3:

Input:n = 5
Output:68

Constraints:
  • 1 <= n <= 2 * 10^4

From: LeetCode
Link: 1220. Count Vowels Permutation


Solution:

Ideas:

keep counts of strings ending with each vowel, then update by reverse rules.

Code:
intcountVowelPermutation(intn){constlongMOD=1000000007;longa=1,e=1,i=1,o=1,u=1;for(intlen=2;len<=n;len++){longna=(e+i+u)%MOD;// previous e/i/u can go to alongne=(a+i)%MOD;// previous a/i can go to elongni=(e+o)%MOD;// previous e/o can go to ilongno=i%MOD;// previous i can go to olongnu=(i+o)%MOD;// previous i/o can go to ua=na;e=ne;i=ni;o=no;u=nu;}return(int)((a+e+i+o+u)%MOD);}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 14:39:33

携程秋招笔试全解析:题型分布、算法编程题与备考策略

每年八月底到九月初&#xff0c;是秋招笔试最密集的时间段。2023年携程秋招技术通用岗第二批笔试&#xff0c;题目整体风格偏基础、实用&#xff0c;覆盖范围是“数据结构与算法 计算机基础 少量场景题”&#xff0c;难度在互联网大厂里算中等偏上&#xff0c;比字节、阿里要…

作者头像 李华
网站建设 2026/9/8 19:55:31

Python进阶教程:18_hashlib 模块 零基础超详细教程

hashlib 是 Python 内置的哈希&#xff08;散列&#xff09;计算标准库&#xff0c;不需要额外安装&#xff0c;可以快速生成文本、文件的「哈希摘要」&#xff08;也叫散列值、指纹&#xff09;。它是密码存储、文件完整性校验、数据去重、防篡改等功能的底层基础&#xff0c;…

作者头像 李华
网站建设 2026/9/10 3:04:09

还原结束后的六项检查,少一项都别交业务

数据库进程启动、端口可连&#xff0c;只能说明还原进入了可检查阶段。恢复点可能错了&#xff0c;业务账号可能无权&#xff0c;序列可能落后&#xff0c;统计信息可能缺失&#xff0c;归档和备份任务也可能仍指向旧环境。此时直接开放流量&#xff0c;问题会从恢复现场扩散到…

作者头像 李华
网站建设 2026/9/3 3:53:26

贝壳找房春招笔试解析:数据挖掘与机器学习核心考点实战

每年春招这个时间点&#xff0c;贝壳找房的算法岗笔试题总能在圈子里引起一波讨论。它不像互联网大厂那样疯狂堆砌LeetCode hard题&#xff0c;也不像某些实验室风格团队那样只考论文复现&#xff0c;贝壳的题目风格更偏向“业务落地”——给你一堆现实世界里的脏数据&#xff…

作者头像 李华
网站建设 2026/9/3 2:17:29

BentoDiffusion实战:基于BentoML的扩散模型服务化部署指南

这次我们来看一个非常实用的开源项目&#xff1a;bentoml/BentoDiffusion。如果你接触过 Stable Diffusion 这类扩散模型&#xff0c;一定知道“本地能跑起来”和“能稳定对外提供服务”是两回事。单机写个 Python 脚本生成图片很容易&#xff0c;但一旦涉及多模型管理、接口暴…

作者头像 李华