美文网首页
276-栅栏涂色

276-栅栏涂色

作者: 饮酒醉回忆 | 来源:发表于2019-06-06 11:32 被阅读0次

栅栏涂色

题目

There is a fence with n posts, each post can be painted with one of the k colors.</br></br>
You have to paint all the posts such that no more than two adjacent fence posts have the same color.</br></br>
Return the total number of ways you can paint the fence.</br></br>
Note:</br></br>
n and k are non-negative integers.

有一个栅栏有n个栏杆,每个栏杆可以被涂成k个颜色中的一个.你必须要在保证最多相邻的两个栏杆是同一个颜色的情况下涂完所有的栏杆.你需要返回你涂完栏杆的所有方式的总数.

提示:n和k都是非负的整数

思路

使用动态规划来解决

递推式:第三根柱子要不和第一根柱子不是一个颜色,要不和第二根柱子不是一个颜色,所以和第一根柱子颜色不一样的概率是k-1乘以第一根柱子的概率

和第二根柱子颜色不一样的概率是k-1乘以第二根柱子的概率,同时如果和第一根柱子颜色相同,则已经包含在与第二根柱子颜色不同里面,反之亦然,所以相加就是总的概率

代码

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

相关文章

  • 276-栅栏涂色

    栅栏涂色 题目 There is a fence with n posts, each post can be p...

  • 20171109初级英语Day21

    Coach Shane's E cubed A. 276- What have you been up to? B...

  • 思维导图 小图标练习5

    涂色,涂色 用原子笔涂色还是蛮吃力的

  • 栅栏里,栅栏外

    徐徐清风不能束缚儿时的奔跑,娇娇烈阳下,一份洒脱,一份无虑,一份懵懵懂懂青春的萌芽,一份认认真真用笔刻画的三年...

  • 最最弱的失散日记-276-习惯

    最最弱的失散日记-276-习惯 200915-星期二 小雨21-23度 习惯这个东西最是可怕,也是神奇。 每一天,...

  • 栅栏

    沉默两端 光线像蝴蝶 粉红色的花瓣 零落于满地尘埃 根系沉淀了悲哀 倒影间的照面 钟声是交界 画面灰暗

  • 栅栏

    “这个城市真是糟糕透了!”每当这种暴雨天气,小强总会这样抱怨一番,对着污水横流的街道,窨井盖里冒出来的特殊气味,随...

  • 栅栏

    城郊。 约莫七八平的一小块栅栏小巧精致,栅栏里的几畦春韭在艳阳下泛着黄绿色光泽,娇嫩的似乎能掐出水来。土地黝黑潮湿...

  • 栅栏

    操场有栅栏, 从外面看向里面, 从里面看向外面, 都隔着栅栏。 好比你看着我 我看着你

  • 栅栏

    06年做的阳台栅栏,退役后一直没舍得扔,总觉得日后会用上,存放了十来年后的今日,再次亮相发挥余热。

网友评论

      本文标题:276-栅栏涂色

      本文链接:https://www.haomeiwen.com/subject/yhvyxctx.html