leetcode276. 栅栏涂色
有 k 种颜色的涂料和一个包含 n 个栅栏柱的栅栏,每个栅栏柱可以用其中一种颜色进行上色。
你需要给所有栅栏柱上色,并且保证其中相邻的栅栏柱 最多连续两个 颜色相同。然后,返回所有有效涂色的方案数。
注意:
n 和 k 均为非负的整数。
示例:
输入: n = 3,k = 2
输出: 6
解析: 用 c1 表示颜色 1,c2 表示颜色 2,所有可能的涂色方案有:
柱 1 柱 2 柱 3
----- ----- ----- -----
1 c1 c1 c2
2 c1 c2 c1
3 c1 c2 c2
4 c2 c1 c1
5 c2 c1 c2
6 c2 c2 c1
思路:动态规划。
n=1,k钟
n=2,k*k种。
n>2:
n可以和n-1位置颜色相同,这时这两个位置可选项有k-1种颜色可用,再乘n-2位置方案总数。
n可以和n-1位置颜色不同,这时这个位置有k-1种颜色可用,再乘n-1位置的方案总数。
class Solution {public int numWays(int n, int k) {if(n==0)return 0;if(n==1)return k;int[] arr=new int[n];arr[0]=k;arr[1]=k*k;for(int i=2;i<n;i++){arr[i]=(arr[i-1]+arr[i-2])*(k-1);}return arr[n-1];}
}
leetcode276. 栅栏涂色相关推荐
- LeetCode-276. 栅栏涂色
有 k 种颜色的涂料和一个包含 n 个栅栏柱的栅栏,每个栅栏柱可以用其中一种颜色进行上色. 你需要给所有栅栏柱上色,并且保证其中相邻的栅栏柱 最多连续两个 颜色相同.然后,返回所有有效涂色的方案数. ...
- Leetcode 276.栅栏涂色
Time: 20190904 Type: Easy 考察:动态规划 题目描述 有 k 种颜色的涂料和一个包含 n 个栅栏柱的栅栏,每个栅栏柱可以用其中一种颜色进行上色. 你需要给所有栅栏柱上色,并且保 ...
- LeetCode刷题实战276:栅栏涂色
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- LeetCode 276. 栅栏涂色(DP)
文章目录 1. 题目 2. 解题 2.1 DP超时解 2.2 DP解 1. 题目 有 k 种颜色的涂料和一个包含 n 个栅栏柱的栅栏,每个栅栏柱可以用其中一种颜色进行上色. 你需要给所有栅栏柱上色,并 ...
- LeetCode 276:栅栏涂色
题目: 思路:动态规划 状态:即栅栏的索引位置和 是否与上一个同色, 两种状态: dp定义:dp[i][0] 指 第 i 个栅栏与第 i-1个栅栏同色的颜色可能性,dp[i][1]指第 i 个栅栏与上 ...
- OpenCV(一)图像读取与新建、图像显示、操作图像像素(2种涂色并比较算法优劣、输出RGB)
目录 一.读取图像与新建图像 1.读取图像 2.新建图像 二.显示图像 1.过程 2.代码 3.运行效果 三.操作图像像素 1.逐RGB涂色(单循环)(快) 1-1.过程 2-2.代码 2-3.运行结 ...
- bzoj 2375: 疯狂的涂色
2375: 疯狂的涂色 Time Limit: 5 Sec Memory Limit: 128 MB Description 小t非常喜爱画画,但是他还是一个初学者.他最近费尽千辛万苦才拜到已仙逝的 ...
- [CQOI2007]涂色PAINT
题意: 给你目标字符串的状态,现可以将连续一段字符串染色,求最小的染色次数 题解: 我们定义dp[i][j]是区间i到区间j最小的涂色次数 区间dp的核心思想实际上是由一个个小区间进行合并成为大区间, ...
- 【BZOJ4817】【SDOI2017】树点涂色 [LCT][线段树]
树点涂色 Time Limit: 10 Sec Memory Limit: 128 MB [Submit][Status][Discuss] Description Bob有一棵n个点的有根树,其中 ...
最新文章
- 工业4.0时代,SAP助力打造智能化工厂研讨会圆满落幕
- 分布式事务最终一致性常用方案
- 游戏《蔚蓝山》教我的编程道理
- xml文档的「?xml version=“1.0“ encoding=“UTF-8“?」 的作用?
- IIS支持下载.config后缀名的文件
- 花30万买鸿蒙汽车,值吗?
- Linux内核:VFIO Mediated Device(vfio-mdev)内核文档(翻译)
- oracle 不查加锁的记录,查询记录时给oracle记录加锁
- 识别连笔字的软件_司捷分件著录软件下载-司捷分件著录软件最新版下载[文件分件]...
- 售前技能——寻找客户
- python输出两个元素空格隔开_python实现将一串字符每两个一组,中间用空格隔开...
- 自动化测试面试题及答案大全(5)
- 企业购置新车,各项费用会计入账以及案例分析
- 感冒了,很难受,但.....
- Vue.js is detected on this page. Devtools inspection is not available becaus...的解决方法
- 这次终于理解了PCA主成分分析(附代码)
- 抖音怎么上热门网红 火山小视频md5修改器
- 《从优秀到卓越》 《麦肯锡方法》读后感
- 曙光服务器I840-G25带外管理
- 家居装修平台「好好住」宣布完成 B 轮融资 家居行业闭环初现
热门文章
- 对代理商的评价怎么写_简历中的自我评价怎么写才能更吸引人?
- Asterisk AGI脚本
- java判断ftp创建目录是否成功_Java判断Ftp服务器目录是否存在,若不存在创建目录 ....
- c#读蓝牙数据_CSharp--BlueTooth 实现蓝牙通讯的程序 C#开发 可以发送和接收数据 方便二次开发 - 下载 - 搜珍网...
- 【转】继承过程中 父类子类的 字段方法 内存分配 (非java语言)
- 【转】人工智能-1.2.2 神经网络是如何进行预测的
- 第七节:语法总结(1)(自动属性、out参数、对象初始化器、var和dynamic等)
- UWP开发入门教程备忘
- mysql密码安全级别_Mysql数据库的安全性问题释疑
- python seaborn 热图 值对应颜色_基于行值的seaborn热图配色方案