LeetCode讲解篇之2320. 统计放置房子的方式数

news2024/11/23 13:16:35

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题目链接

题目描述

在这里插入图片描述

题解思路

我们首先发现一个规律街道两侧是否放置房子是独立的,即放置房子的方式数 = 一侧放置房子的方式数 * 另一侧放置房子的方案数 = 一侧放置房子的方式数的二次方

对于一侧[0, i]范围内地块放置房子的方式数为第i号地块不放房子的方式数 + 第i号地块放房子的方式数

设一侧[0, i]范围内地块放置房子的方式数为f[i]
则f[i] = f[i - 1] + f[i - 2]
第i号地块不放房子的方式数为[0, i - 1]范围内放置房子的方式数
第i号地块放房子的方式数为[0, i - 2]范围内放置房子的方式数

题解代码

func countHousePlacements(n int) int {
    const mod = 1e9 + 7
    f := make([]int, n + 1)
    f[0], f[1] = 1, 2

    for i := 2; i <= n; i++ {
        f[i] = (f[i - 1] + f[i - 2]) % mod
    }

    return f[n] * f[n] % mod
}

题目链接

https://leetcode.cn/problems/count-number-of-ways-to-place-houses/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2209452.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

starrocks-删除表字段

1、背景 之前做了个大宽表&#xff0c;将近100个字段&#xff0c;但是后来发现很多字段在实际生产上都没有用到&#xff0c;并且随着数据量的增加&#xff0c;给集群的存储以及消费任务的解析带来了比较大的压力。所以决定对字段做删除处理。 当前的表是使用routine load任务从…

渗透测试 之 AD域渗透 【AS-REP Roasting】 攻击技术详解

说明: AS-REP Roasting是一种对用户账户进行离线爆破的攻击方式。但是该攻击方式使用比较受限&#xff0c;因为其需要用户账户设置“不要求Kerberos预身份验证”选项&#xff0c;而该选项默是没有勾选的。Kerberos 预身份验证发生在Kerberos身份验证的第一阶段&#xff08;AS_…

14. 最长公共前缀【字符串】

文章目录 14. 最长公共前缀解题思路Go代码 14. 最长公共前缀 14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 输入&#xff1a;strs ["flower","flow&…

STM32 QSPI接口驱动GD/W25Qxx配置简要

STM32 QSPI接口GD/W25Qxx配置简要 &#x1f4dd;本篇会具体涉及介绍Winbond&#xff08;华邦&#xff09;和GD(兆易创新) NOR flash相关型号指令差异。由于网络上可以搜索到很多相关QSPI相关知识内容&#xff0c;不对QSPI通讯协议做深度解析。 &#x1f516;首先确保所使用的ST…

2022年10月自考《数据库系统原理》04735试题

目录 一.单选题 二.填空题 三.设计题 四.简答题 五.综合题 一.单选题 1.数据库系统管理员的英文缩写是 (书中)P29页 A.Data B.DB C.DBA D.DBS 2.客户/服务器模式中&#xff0c;客户端和服务器可以同时工作在同一台计算机上&#xff0c;该方式称为 (书中)P37页 A.单机方…

使用Copilot自动在Rstudio中写代码,提高效率!

原文链接&#xff1a;使用Copilot自动在Rstudio中写代码&#xff0c;提高效率&#xff01; 2022年教程总汇 2023年教程总汇 引言 今天我们分享&#xff0c;在Rstuido中使用copilot自动写代码&#xff0c;提高你的分析和绘图效率。 copilot是2024年9月后引入到Rstuido中&…

如何在 IDEA 中导入 Java 项目的 Git 仓库并启动

目录 前言1. 从 Git 仓库导入 Java 项目2. 配置 Maven2.1 配置 Maven 仓库和设置文件2.2 加载依赖 3. 配置 Tomcat 并运行项目3.1 配置 Tomcat3.2 配置 Server URL3.3 启动项目 4. 常见问题与解决方法4.1 Maven 依赖无法下载4.2 Tomcat 部署失败4.3 项目启动后无法访问 结语 前…

从RNN讲起——序列数据处理网络

文章目录 RNN&#xff08;Recurrent Neural Network&#xff0c;循环神经网络&#xff09;1. 什么是RNN&#xff1f;2. 经典RNN的结构3. RNN的主要特点4. RNN存在问题——长期依赖&#xff08;Long-TermDependencies&#xff09;问题 LSTM&#xff08;Long Short-Term Memory&a…

使用libssh2实现多线程模式的文件上传与下载

使用libssh2实现多线程模式的文件上传与下载 一、准备工作二、初始化SSH连接三、文件上传与下载四、多线程处理五、总结libssh2 是一个开源的SSH库,用于在C/C++程序中实现SSH2协议的功能。通过libssh2,我们可以方便地进行远程登录、执行命令、上传和下载文件等操作。在多线程…

一区大黄蜂!人工蜂群算法优化!ABC-CNN-LSTM-MATT多特征分类预测

一区大黄蜂&#xff01;人工蜂群算法优化&#xff01;ABC-CNN-LSTM-MATT多特征分类预测 目录 一区大黄蜂&#xff01;人工蜂群算法优化&#xff01;ABC-CNN-LSTM-MATT多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现ABC-CNN-LSTM-MATT人工蜂群…

c++关于内存的知识点上速成

温馨提示&#xff1a;本篇文章的内容涉及的是c内存的管理方式 c内存管理的方式 new的使用方式 类型 对象名 new 类型 注意&#xff1a;如果对象名前面的类型有星号&#xff0c;后面的类型&#xff08;new后面的&#xff09;不需要星号 样例&#xff1a; delete的使用方…

VMDK 0X80BB0005 VirtualBOX虚拟机错误处理-数据恢复——未来之窗数据恢复

打开虚拟盘文件in7.vmdk 失败. Could not get the storage format of the medium 7\win7.vmdk (VERR_NOT_SUPPORTED). 返回 代码:VBOX_E_IPRT_ERROR (0X80BB0005) 组件:MediumWrap 界面:IMedium {a a3f2dfb1} 被召者:IVirtualBox {768 cd607} 被召者 RC:VBOX_E_OBJECT_NOT_F…

生成式专题的第四节课--CycleGAN

CycleGAN&#xff08;Cycle-Consistent Generative Adversarial Network&#xff0c;循环生成对抗网络&#xff09;是一种用于无监督图像转换的深度学习模型&#xff0c;即一种用于图像到图像转换任务的生成对抗网络&#xff08;GAN&#xff09;的变体&#xff0c;它可以在没有…

团标大数据(2024年09月)

一、总体数据 截至2024年09月30日&#xff0c;共有8240家社会团体在全国团体标准信息平台注册&#xff0c;其中民政部登记注册的有973家&#xff0c;地方民政部门登记注册的有7267家。社会团体在平台共计公布89857项团体标准&#xff0c;其中民政部登记注册的社会团体公布3603…

点云数据与多相机图像融合实现3D场景的彩色可视化

引言 在现代3D计算机视觉和机器人感知领域&#xff0c;点云数据和图像信息的融合正变得越来越重要。点云数据提供了精确的几何结构&#xff0c;而图像则包含了丰富的颜色和纹理细节。将这两种数据源结合起来&#xff0c;我们能够创建更加逼真和信息丰富的3D场景表示。本文将深…

【C++】拆分详解 - vector

文章目录 一、vector的介绍二、vector的使用1. 构造2. 迭代器3. vector 空间增长问题4. 增删查改5. vector 迭代器失效问题5.1 底层空间改变&#xff08;扩容、缩容&#xff09;5.2 指定位置元素的删除操作5.3 Linux与VS平台差异 三、vector 模拟实现0. 整体框架1. 构造 / 析构…

4个方法教你快速取消Word文档底色

在使用Word编辑文档时&#xff0c;我们有时会遇到文字或段落带有不必要的底色&#xff0c;这不仅影响文档的美观&#xff0c;还可能干扰阅读。那么&#xff0c;如何轻松去除这些底色呢&#xff1f;以下是几种实用的方法&#xff1a; 方法1&#xff1a;使用底纹功能键 首先&…

点可云ERP进销存V8版本——其他收入单使用说明进

其他收入单用于记录除销售内容外其他收入资金&#xff0c;如&#xff1a;废品出售、安装维修服务等。新增保存之后&#xff0c;对应资金账户将增加金额额度&#xff0c;并做存储记录&#xff0c;可在现金银行报表中体现。 新增操作 接下来我们讲解新增单据步骤。如上图所示&am…

怎样设置Windows系统不会自动同步时间

一、背景 我们在进行测试一些软件的时候需要调整Windows系统的时间到指定的日期,并且希望这个手动调整的日期可以固定住不变,不希望电脑重启后恢复到当前的最新日期。 二、操作方法 注意:如下的操作方法是以Windows7系统为例进行演示说明: 1、选中右下角的日期然后点击鼠…

C++笔记---红黑树的插入删除

1. 红黑树的概念 红黑树是一棵二叉搜索树&#xff0c;他的每个结点增加一个存储位来表示结点的颜色&#xff0c;可以是红色或者黑色。 通过对任何一条从根到叶子的路径上各个结点的颜色进行约束&#xff0c;红黑树确保对于任意一个结点&#xff0c;没有一条到NULL结点的路径会…