您的位置:首页 > 汽车 > 新车 > 免费建站系统博客_制作网站的公司哪家比较好_网址大全是ie浏览器吗_google adwords

免费建站系统博客_制作网站的公司哪家比较好_网址大全是ie浏览器吗_google adwords

2024/11/18 7:32:13 来源:https://blog.csdn.net/qq_67733273/article/details/142886516  浏览:    关键词:免费建站系统博客_制作网站的公司哪家比较好_网址大全是ie浏览器吗_google adwords
免费建站系统博客_制作网站的公司哪家比较好_网址大全是ie浏览器吗_google adwords

文章目录

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

题目描述

在这里插入图片描述

题解思路

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

对于一侧[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 + 7f := make([]int, n + 1)f[0], f[1] = 1, 2for 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/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com