276. Paint Fence

news/2023/12/1 7:41:40

276. Paint Fence

题目链接:https://leetcode.com/problems...

dp来解,subproblem是:
diff[i]: number of paints when current i is different from i - 1,
same[i]: number of paints when current i is same as i-1
所以dp方程为:
diff[i] = diff[i-1] * (k-1) + same[i-1] * (k-1),
same[i] = diff[i-1],滚动数组优化

public class Solution {
    public int numWays(int n, int k) {
        if(n == 0) return 0;
        if(k == 0) return 0;
        
        int same = 0;
        int diff = k;
        for(int i = 1; i < n; i++) {
            int temp = diff;
            diff = (k-1) * (same + diff);
            same = temp;
        }
        return same + diff;
    }
}

http://www.niftyadmin.cn/n/2752230.html

相关文章

LINQ删除之单条数据的删除

开发工具与关键技术&#xff1a;Visual Studio 2015 LINQ 作者&#xff1a;孙水兵 撰写时间&#xff1a;2019年4月23一、 删除前期工作&#xff1a; 在控制器最上端引入Models和装实体类的文件名称 实例化Models 在控制器的命名空间中实例化Models Models.CQUPTEntities 自…

Java基础知识总结第二部分

三&#xff1a;面向对象&#xff1a;★★★★★特点&#xff1a;1&#xff1a;将复杂的事情简单化。2&#xff1a;面向对象将以前的过程中的执行者&#xff0c;变成了指挥者。3&#xff1a;面向对象这种思想是符合现在人们思考习惯的一种思想。过程和对象在我们的程序中是如何体…

${pageContext.request.contextPath}和%=request.getContextPath()%区别

${pageContext.request.contextPath}等价于<%request.getContextPath()%>&#xff01;它们的意思就是取得当前项目名称&#xff08;或者是--取出部署的应用程序名&#xff0c;不过这么说太官方了&#xff0c;试问有多少人知道“取出部署的应用程序名”的义&#xff09; …

上传文件异常问题 | 413 Request Entity Too Large

开发中遇到这样的问题&#xff1a;一个上传文件的功能&#xff0c;内网测试都正常了&#xff0c;但是发布到外网就无法上传大点的&#xff08;大于1MB&#xff09;文件&#xff0c;更奇怪的是&#xff0c;后台还没有任何的异常信息。 于是就用Http抓包工具&#xff08;HttpDete…

LINQ删除之批量删除

开发工具与关键技术&#xff1a;Visual Studio 2015 LINQ 作者&#xff1a;孙水兵 撰写时间&#xff1a;2019年4月24一、删除前期工作&#xff1a; 在控制器最上端引入Models和装实体类的文件名称 实例化Models 在控制器的命名空间中实例化Models Models.CQUPTEntities 自定…

LINQ修改

开发工具与关键技术&#xff1a;Visual Studio 2015 LINQ 作者&#xff1a;孙水兵 撰写时间&#xff1a;2019年5月3一、 涉及到的一些方法与知识 json对象的格式&#xff1a;键/值对的形式&#xff0c;前面为key&#xff0c;后面为value&#xff0c;如PointID&#xff1a;9&a…

最全面的 Webview 详解

前言 现在很多App里都内置了Web网页&#xff08;Hyprid App&#xff09;&#xff0c;比如说很多电商平台&#xff0c;淘宝、京东、聚划算等等&#xff0c;如下图 那么这种该如何实现呢&#xff1f;其实这是Android里一个叫WebView的组件实现的。今天我将全面介绍WebView的常用用…

跟着百度学PHP[11]-PHP当中的异常处理

首先要说一下常见的三种错误&#xff1a; 1.语法错误 2.运行错误 3.逻辑错误 00x1 错误报告及错误级别 PHP的错误分为三个等级 1.注意(notice) 没有变量a 2.警告(warning) 没有给函数传值 3.致命的错误(fatal error) 函数写错 错误的报告级别可以在PHP.ini当中修改。在PHP.in…

下拉框的绑定与回填

开发工具与关键技术&#xff1a;Visual Studio 2015 下拉框 作者&#xff1a;孙水兵 撰写时间&#xff1a;2019年5月5日三、 前期工作&#xff1a; 由于下拉框的绑定与数据回填都涉及到表格数据的查询&#xff0c;所以在控制器最上端引入Models和装实体类的文件名称 实例化Mo…

BZOJ4822[Cqoi2017]老C的任务——树状数组(二维数点)

题目描述 老 C 是个程序员。 最近老 C 从老板那里接到了一个任务——给城市中的手机基站写个管理系统。作为经验丰富的程序员,老 C 轻松地完成了系统的大部分功能,并把其中一个功能交给你来实现。由于一个基站的面积相对于整个城市面积来说非常的小,因此每个的基站都可以看作…

云计算(4)产业发展趋势

大数据&#xff1a;数据量达到无法通过人工在合理时间内获取&#xff3c;管理和处理的数据集合。如&#xff1a;Google的搜索服务&#xff0c;能够根据客户需求&#xff0c;近乎实时地从全球数据资产中&#xff0c;快速的找到答案。IDC预测&#xff0c;2020年&#xff0c;全世界…

ASP.NET.MVC实现网站验证码功能

开发工具与关键技术&#xff1a;Visual Studio 2015 生成验证码 作者&#xff1a;孙水兵 撰写时间&#xff1a;2019年5月7一、为什么网站要用到验证码 因为WEB站有时会碰到客户机恶意攻击,其中一种很常见的攻击手段就是 身份欺骗_它通过 在客户端脚本写入一些代码,然后利用其,…

《C++程序设计教程(第3版)》——第3章,第3节cin输入流

本节书摘来自华章出版社《C程序设计教程&#xff08;第3版&#xff09;》一书中的第3章&#xff0c;第3.3节cin输入流&#xff0c;作者张志航&#xff0c;更多章节内容可以访问云栖社区“华章计算机”公众号查看 3.3 cin输入流与cout输出流对应的是cin输入流&#xff0c;使用c…

简单使用layui完成表格

开发工具与关键技术&#xff1a;Visual Studio 2015 layui 作者&#xff1a;孙水兵 撰写时间&#xff1a;2019年5月 15日一、layui及数据表格的简介 layui&#xff08;谐音&#xff1a;类UI) 是一款采用自身模块规范编写的前端 UI 框架&#xff0c;遵循原生 HTML/CSS/JS 的书写…

PHP配置文件php.ini中打开错误报告的设置方法

2019独角兽企业重金招聘Python工程师标准>>> 打开PHP的错误报告的方法&#xff0c;供大家参考。 php.ini 文件中有许多配置设置。您应当已经设置好自己的 php.ini 文件并把它放在合适的目录中&#xff0c;就像在 Linux 上安装 PHP 和 Apache 2 的文档说明中所示的那…

《部署IPv6网络(修订版)》一2.2 IPv6分组格式

本节书摘来自异步社区《部署IPv6网络&#xff08;修订版&#xff09;》一书中的第2章&#xff0c;第2.1节&#xff0c;作者【美】Ciprian Popoviciu , Eric Levy-Abegnoli , Patrick Grossetete&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看 2.2 IPv6分组格…
最新文章