leetcode 1641. Count Sorted Vowel Strings(统计字典序元音字符串的数目)

一人公司 CEO × Accio Work:最大能效实战指南 作为一人公司 CEO,你需要同时扮演市场、销售、运营、财务、产品等多个角色。Accio Work 本质上就是你的。 阅读详情

Given an integer n, return the number of strings of length n that consist only of vowels (a, e, i, o, u) and are lexicographically sorted.

A string s is lexicographically sorted if for all valid i, s[i] is the same as or comes before s[i+1] in the alphabet.

Example 1:

Input: n = 1
Output: 5
Explanation: The 5 sorted strings that consist of vowels only are [“a”,“e”,“i”,“o”,“u”].

Example 2:

Input: n = 2
Output: 15
Explanation: The 15 sorted strings that consist of vowels only are
[“aa”,“ae”,“ai”,“ao”,“au”,“ee”,“ei”,“eo”,“eu”,“ii”,“io”,“iu”,“oo”,“ou”,“uu”].
Note that “ea” is not a valid string since ‘e’ comes after ‘a’ in the alphabet.

Example 3:

Input: n = 33
Output: 66045

5个元音[a, e, i, o, u], 每个元音可以重复使用,
用它们组成长度为n的数组,数组元素按字母表排序。

思路:

方法1:
DP
按字母表排序也就是说a后面只能是a, e, i, o, u(因为可以重复)
e后面只能是e, i, o, u,
依次类推。

下面从后往前排,也就是 i = n - 1 ~ 0
n=2时,从后往前看,现在第0位如果是a, 那么第1位就是刚刚的一位的情况[a, e, i, o, u]
所以a = a + e + i + o + u.
n = 3时,现在第0位如果是a, 后面就是刚算好的n=2的情况,后两位可以是a开头,也可以是e, i, o, u开头,
所以a = a + e + i + o + u.

简言之,就是已经算好了后面n-1位的组合情况,现在加上第0位,看总共n位的组合情况,是一种DP思想。

这里的a表示从后往前遍历时,当前位置以a开头的组合情况。
最后一位 每个字母都只有一种组合,都是1,所以从n-2开始遍历。

    public int countVowelStrings(int n) {
        int a, e, i, o, u;
        a = e = i = o = u = 1;
        
        for(int k = n - 2; k >= 0; k--) {
            a = a + e + i + o + u;
            e = e + i + o + u;
            i = i + o + u;
            o = o + u;
            u = u;
        }
        
        return a + e + i + o + u;
    }
    }

方法2:
Math,隔板法。

现要求我们把元音[a, e, i, o, u]组合成长度为n的数组,

首先我们取n个东西,这n个东西可以是[a, e, i, o, u]的其中一种,不过先不管它具体是哪个,统称为O吧,

所以现在有n 个 O排在这里。

一共有5个元音,所以现在用板子把这n个O分成5段,需要4个板子。
这5段中的第一段,里面都是a,
第二段里面都是e,… ,第5段里面都是u

然后数组中有几个[a, e, i, o, u]就取决于板子放在哪个位置,
如果两个板子中间没有东西,那就是这个字母不取了。

所以n个O + 4个板子,总共有 (n + 4)个位置,
现要决定这4个板子放在哪里,
所以要从这(n+4)个位置中,抽4个位置用来放板子,这4个板子没有排列,它们是一样的,
所以板子的位置个数为Cn+44=(n+4)⋅(n+3)⋅(n+2)⋅(n+1)/4!C_{n+4}^{4} = (n+4)\cdot (n+3)\cdot (n+2)\cdot (n+1) / 4!Cn+44​=(n+4)⋅(n+3)⋅(n+2)⋅(n+1)/4!

    public int countVowelStrings(int n) {
        return (n+4) * (n+3) * (n+2) * (n+1) / 24;
    }
超声波雾化驱动设计:专用芯片FM8118替代MCU的工程实践 超声波雾化是一种基于压电陶瓷谐振原理的高频能量转换技术,其核心在于在1.6–2.4MHz频段精准激励雾化片以实现高效水分子破碎。传统采用通用MCU配合分立MOSFET的方案受限于PWM频率上限、栅极驱动能力不足及EMI控制困难,导致雾化效率低、温升高、可靠性差。专用雾化芯片(如FM8118)通过集成2.1MHz振荡器、零电压开关(ZVS)控制与过流/过热双重保护,从架构层面解决高频功率驱动的本质约束,显著提升驱动效率(达83.7%)与系统鲁棒性。该技术广泛适用于桌面加湿器、医疗雾化器、农业微喷等对体积、功耗 阅读详情

相关推荐

局部路径规划算法 - B样条曲线(B-spline Curves)

本文详解了B样条以及代码实现

BigDavid123的博客 6506

1641. Count Sorted Vowel Strings(DFS / DP)

DFS solution Actually, my first dfs solution time limit was exceeded. My thought is to do simple combinations dfs, just dfs on the search tree. class Solution { public: int x = 0; char arr[5] = {'a', 'e', 'i', 'o', 'u'}; void dfs(string

weixin_58286631的博客 206

基于yolo11的BGA图像目标检测

15.YOLOv8的n/s版本(如YOLOv8n-1280),或通过TensorRT量化压缩模型。3.使用自适应batch_size(如根据GPU显存动态调整),推荐16-32。为采集分辨率整数倍(如原图2592×1944,训练时缩放为640×480),保持宽高比。14.采用余弦退火学习率(cos_lr)和早停(patience=50),防止过拟合。1.模型标注后,少量标注全部人工校验,大量数据抽检,部分人工检验。13.部署模型后持续收集困难样本(如模棱两可的预测结果),定期迭代更新模型。

qq_47798402的博客 1205

[leetcode] 1641. Count Sorted Vowel Strings

Description Given an integer n, return the number of strings of length n that consist only of vowels (a, e, i, o, u) and are lexicographically sorted. A string s is lexicographically sorted if for all valid i, s[i] is the same as or comes before s[i+1] in

Learning from the mistakes 557

报错:subprocess.CalledProcessError: Command ‘[‘where‘, ‘cl‘]‘ returned non-zero exit status 1.

右键此电脑--属性--高级系统设置--环境变量--系统变量--找到Path。Enterprise是企业版,如果你是社区版就找Community。2.安装的时候,c++桌面那个需要勾选。

2301_77554343的博客 1506

深入解析Android14应用安装权限:从声明到授予的完整适配指南

本文深入解析Android14应用安装权限的适配方法,重点介绍了从权限声明到授予的完整流程。与Android13相比,Android14在权限管理机制上进行了重要调整,特别是通过AppOpsManager实现权限的对象化封装。文章详细讲解了权限声明的基础配置、Framework层适配方案、运行时权限授予方法以及常见问题排查指南,帮助开发者高效完成Android14权限适配。

o9p0q1的博客 693

【Leetcode】1641. Count Sorted Vowel Strings

题目地址: https://leetcode.com/problems/count-sorted-vowel-strings/ 给定一个正整数nnn,问只由a, e, i, o, u组成的长nnn的字符串中满足字典序的一共有多少个(即不存在字典序的逆序)。 等价于从555个数字1,2,3,4,51,2,3,4,51,2,3,4,5里,可重复地挑nnn个数,一共有多少个组合,即问不定方程x1+x2+x3+x4+x5=nx_1+x_2+x_3+x_4+x_5=nx1​+x2​+x3​+x4​+x5​=n的非负整

数学、算法爱好者的博客 455

GEE案例:计算区域生态总体脆弱性分析

计算区域生态总体脆弱性分析需要考虑多个指标和因素。下面是一个基本的方法:选择指标:选择一组能够反映区域生态系统脆弱性的指标。这些指标可以包括生物多样性指数、森林覆盖率、湿地保护率、土地退化程度等。为每个指标分配权重:为了使得各指标在计算中的重要性相对均衡,可以为每个指标分配一个权重。权重可以根据各指标的重要性和可利用的数据进行确定。数据收集和处理:收集每个指标的数据,并对其进行处理,确保数据的准确性和一致性。如果有需要,可以对数据进行归一化处理。计算指标值:根据收集的数据和权重,计算每个指标的值。

此星光明博客 464

1641. 统计字典序元音字符串的数目

给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。 字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。 示例 1: 输入:n = 1 输出:5 解释:仅由元音组成的 5 个字典序字符串为 ["a","e","i","o","u"] 1.dfs 2.dp,找个时间思考一下 class Solution: def countVow..

北歌的博客 456

智能座舱SoC平台横评:SA8155P、SA8255P、SA8295P、MT8678、MT8628 谁是下代车机首选?

高通SA8295P以PC级架构、强悍AI算力,代表安卓阵营迈向“本地大模型+空间计算”阶段;联发科MT8678则凭借低功耗 + 高带宽,成为副驾多媒体/副屏智能化的性价比之王。在座舱设计中,SoC平台决定了你能给用户什么样的交互方式,选型时切忌只看跑分,而要回归“体验-热设计-平台生态”的三角平衡。

weixin_43199439的博客 3353

STM32F407+OV2640的DCMI+DMA双缓冲JPEG图像采集系统

在嵌入式视觉系统中,数字摄像头接口(DCMI)是MCU连接CMOS图像传感器的关键硬件通道,其与DMA协同实现零CPU干预的高速数据流采集;而JPEG作为一种基于DCT变换与量化压缩的有损图像格式,依赖传感器端硬件编码引擎才能满足实时性要求。理解DCMI三重同步时序(PCLK/HSYNC/VSYNC)与DMA双缓冲机制的流水线协作原理,是突破带宽瓶颈、避免FIFO溢出和帧丢失的技术基础。该架构广泛应用于智能硬件、工业检测与边缘AI前端等需低功耗、高可靠图像捕获的场景,本文以OV2640与STM32F407为

weixin_42103128的博客 155

LeetCode 1641. 统计字典序元音字符串的数目

题目链接:1641. 统计字典序元音字符串的数目 题意: 给你一个整数n,请返回长度为n、仅由元音 (a,e,i,o,u) 组成且按字典序排列的字符串数量。 字符串s按字典序排列需要满足:对于所有有效的i,s[i]在字母表中的位置总是与s[i+1]相同或在s[i+1]之前。 解题思路: 一看就是动态规划。也就是找规律。 发现a元素能够在上一次的每个组合前 加, 而 e 元素能够在除了 a 元素开头的其他元素前面加................以...

error311的博客 468

11、机器学习中的聚类与隐马尔可夫模型

本文介绍了机器学习中的两种重要方法:聚类算法和隐马尔可夫模型(HMM)。聚类作为无监督学习的代表,适用于发现无标签数据中的结构,常见算法包括K-均值和自组织映射(SOM),并在传感器数据分析等场景中展现应用价值。隐马尔可夫模型则是一种可解释的序列模型,用于从观测数据中推断隐藏状态,广泛应用于语音识别、自然语言处理和生物信息学等领域。文章详细讲解了HMM的核心概念如马尔可夫性质、转移与发射概率,并通过TensorFlow实现了前向算法,展示了其计算观测序列概率的动态规划思想。最后对比了两类方法的应用场景,展望

garlic的博客 179

1641. 统计字典序元音字符串的数目(动态规划)

package com.wsq.dp; /** * 1641. 统计字典序元音字符串的数目 * @author wsq * @date 2020/11/04 给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。 字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。 示例 1: 输入:n = 1 输出:5 解释:仅由元音组成的 5 个字典序字符

Codeoh的博客 304

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LeetCode 1641. 统计字典序元音字符串的数目(DP)

文章目录1. 题目2. 解题 1. 题目 给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。 字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。 示例 1: 输入:n = 1 输出:5 解释:仅由元音组成的 5 个字典序字符串为 ["a","e","i","o","u"] 示例 2: 输入:n = 2 输出:15 解释:仅由元音组成的 15 个字典序字

Michael是个半路程序员 844

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LeetCode 5555. 统计字典序元音字符串的数目 JAVA

给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。 字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。 示例 1: 输入:n = 1 输出:5 解释:仅由元音组成的 5 个字典序字符串为 ["a","e","i","o","u"] 示例 2: 输入:n = 2 输出:15 解释:仅由元音组成的 15 个字典序字符串为 ["aa","ae","ai","a

sinb妃的博客 284

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

统计字典序元音字符串的数目

统计字典序元音字符串的数目一、问题描述二、解题思路2.1 简单分析2.2 综合分析2.2.1 方法一2.2.2 方法二2.2.3 方法三2.2.4 方法四三、总结 一、问题描述 给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列的字符串数量。 字符串 s按字典序排列需要满足:对于所有有效的i,s[i]在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。 示例 1: 输入:n = 1 输出:5 解释:仅由元音组成的 5 个字典序字符串为 ["a

weixin_42868849的博客 673

2021-01-25 1641. Count Sorted Vowel Strings

1641. Count Sorted Vowel Strings Difficulty: Medium Related Topics: Math, Dynamic Programming, Backtracking Given an integer n, return the number of strings of length n that consist only of vowels (a, e, i, o, u) and are lexicographically sorted. A string

lleonard16的博客 177

leetcode 1641. Count Sorted Vowel Strings(python)

描述 Given an integer n, return the number of strings of length n that consist only of vowels (a, e, i, o, u) and are lexicographically sorted. A string s is lexicographically sorted if for all valid i, s[i] is the same as or comes before s[i+1] in the alpha

王大呀呀的博客 322

【LeetCode】1641. Count Sorted Vowel Strings(动态规划)

【LeetCode】1641. Count Sorted Vowel Strings(动态规划) Given an integer n, return the number of strings of length n that consist only of vowels (a, e, i, o, u) and are lexicographically sorted. A string s is lexicographically sorted if for all valid i, s[i] is t

ccystewart的博客 384

LeetCode Hot 100 二叉树专题(二)3 题(Java)

本篇文章共 3 题:543. 二叉树的直径、102. 二叉树的层序遍历、108. 将有序数组转换为二叉搜索树。 每道题都统一按「① 题目分析 & 解题思路 → ② 常见解法(附代码)及讲解 → ③ 知识点总结」的顺序组织;代码使用 Java 编写,节点定义沿用 LeetCode 默认的 TreeNode。

2401_88612756的博客 352

LeetCode Hot 100 链表专题 三· 3 题(Java)

收录题目:2. 两数相加、19. 删除链表的倒数第 N 个结点、24. 两两交换链表中的节点。 统一结构:① 题目分析与解题思路 → ② 常见解法(附代码)及讲解 → ③ 知识点总结。 贯穿三题的两条主线:虚拟头结点 dummy(统一处理头结点被修改的场景)与 指针修改顺序(避免断链、丢引用)。

2401_88612756的博客 481

LeetCode 每日一题 2026/11/2-2026/11/8

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步

AlphaTao的博客 174

LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等)

LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等) 题目描述: 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: - s = s1 + s2 + ... + sn - t = t1 + t2 + ... + tm - |n - m| <= 1 - 交错 是 s1 + t

huayimenghan的博客 197

LeetCode 1861. 旋转盒子|Go 双指针解法

j >= 0,如果写成j>0,会漏掉第 0 列,最左侧石头处理失败旋转矩阵行列互换:原 m 行 n 列 → 结果 n 行 m 列,make 数组长度不要写反旋转公式m-1-i:是原总行数 m,不是 n!很容易写成n-1-i区分:本题和轮转数组(189)分组循环不一样!189:所有元素固定移动 k 步,需要 gcd 分组1861:障碍物分割成多个独立段,石头向段末尾挤,用双指针更合适。

2503_92676540的博客 175

Hash表:两数之和、字母异位词分组、最长连续序列 [力扣 Hot100]

三道高频哈希表应用题:两数之和(利用HashMap快速查找补数)、字母异位词分组(排序后作为键分组)、最长连续序列(通过HashSet去重并仅从序列起点扩展)。核心思想均为借助哈希结构优化查找效率,避免重复计算。同时提及双指针等其他解法思路,体现算法设计中“空间换时间”的典型策略。

2403_87560480的博客 195
上一篇: opencv FAST特征 & 原理
下一篇: orb slam3 orb特征提取与匹配部分源码解读
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值