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

力扣(LeetCode)276. 栅栏涂色(2022.10.03)

有 k 种颜色的涂料和一个包含 n 个栅栏柱的栅栏,请你按下述规则为栅栏设计涂色方案:

每个栅栏柱可以用其中 一种 颜色进行上色。
相邻的栅栏柱 最多连续两个 颜色相同。
给你两个整数 k 和 n ,返回所有有效的涂色 方案数 。

示例 1:
在这里插入图片描述

输入:n = 3, k = 2
输出:6
解释:所有的可能涂色方案如上图所示。注意,全涂红或者全涂绿的方案属于无效方案,因为相邻的栅栏柱 最多连续两个 颜色相同。

示例 2:

输入:n = 1, k = 1
输出:1

示例 3:

输入:n = 7, k = 2
输出:42

提示:

1 <= n <= 50
1 <= k <= 105
题目数据保证:对于输入的 n 和 k ,其答案在范围 [0, 231 - 1] 内

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/paint-fence

方法一:动态规划

C++提交内容:

class Solution {
public:
    int numWays(int n, int k) {
        if (k == 1) return n > 2 ? 0 : 1;
        if (n <= 2) return pow(k, n);
        vector<int> dp(n);
        dp[0] = k;
        dp[1] = k * k;
        for (int i = 2; i < n; ++i) {
            dp[i] = dp[i - 1] * (k - 1) + dp[i - 2] * (k - 1);
        }
        return dp[n - 1];
    }
};

相关文章:

  • Ubuntu系统安装
  • 牛客网专项练习30天Pytnon篇第04天
  • 【目标检测算法】IOU、GIOU、DIOU、CIOU与YOLOv5损失函数
  • 为什么梯度方向一定是函数增大的方向
  • Vue学习第36天——PC端和移动端常用的Vue UI组件库
  • ⌈Linux_ 感受系统美学⌋ 剖释Linux操作系统 | 底层级操作增进Linux内功
  • 数据结构之二叉树
  • 数组与数组名到底该如何理解?
  • 计算机网络——随机接入
  • 【NLP开发】Python实现聊天机器人(微软Azure机器人服务)
  • MyBatis框架总结
  • 10.3国庆作业(UART实验)
  • 西瓜书研读——第五章 神经网络:感知机与多层网络
  • Docker实战:Docker安装Gitlab实用教程
  • 【python-Unet】计算机视觉~舌象舌头图片分割~机器学习(三)
  • 03Go 类型总结
  • Angular4 模板式表单用法以及验证
  • C语言笔记(第一章:C语言编程)
  • Django 博客开发教程 16 - 统计文章阅读量
  • exif信息对照
  • happypack两次报错的问题
  • isset在php5.6-和php7.0+的一些差异
  • JavaScript类型识别
  • Java多态
  • JS字符串转数字方法总结
  • OSS Web直传 (文件图片)
  • Python十分钟制作属于你自己的个性logo
  • React系列之 Redux 架构模式
  • Vue 动态创建 component
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 给新手的新浪微博 SDK 集成教程【一】
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 前端js -- this指向总结。
  • 前端存储 - localStorage
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 网络应用优化——时延与带宽
  • 译米田引理
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​人工智能书单(数学基础篇)
  • #### go map 底层结构 ####
  • #162 (Div. 2)
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (C++17) std算法之执行策略 execution
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)重识new
  • .gitignore文件—git忽略文件
  • .NET MVC第三章、三种传值方式
  • .Net Web项目创建比较不错的参考文章
  • .NET 动态调用WebService + WSE + UsernameToken