首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
牛牛爱花
[编程题]牛牛爱花
热度指数:1223
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
牛牛有一个3*n的土地。这个土地有3行,n列。牛牛想在土地上种至少一朵花。
为了花儿能够茁壮成长,每一朵花的上下左右四个方向不能有其他的花。问有多少种种花的方案。
为防止答案过大,答案对1e9+7取模。
示例1
输入
1
输出
4
说明
只有1列,用1代表花,0代表空地。这一列的种法可能是[1,0,0],[0,1,0],[0,0,1],[1,0,1]四种
备注:
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(5)
邀请回答
收藏(13)
分享
纠错
提交结果有问题?
9个回答
5篇题解
开通博客
积极的防守者
发表于 2020-02-11 22:23:48
最优解法 用二进制[0~7]代表每一列的种花情况。用代表有列且最后一列的种花情况为,通过枚举有列的最后一列花的情况来转移。可以用滚动数组优化空间复杂度。因为每一列种花情况只有5个状态是有效的,所以总的时间复杂度为,滚动数组优化后只用了一个2*8的辅助数组,空间复杂度可以视为。 int solve(i
展开全文
认认真真coding
发表于 2021-08-08 14:28:47
题目描述 牛牛有一个3*n的土地。这个土地有3行,n列。牛牛想在土地上种至少一朵花。 为了花儿能够茁壮成长,每一朵花的上下左右四个方向不能有其他的花。问有多少种种花的方案。 为防止答案过大,答案对1e9+7取模。 方法一:动态规划思想求解 求解思路对于本题目的求解,我们采用动态规划的思想进行问题的求
展开全文
不会做题的小菜鸡
发表于 2021-09-13 17:04:35
思路 题目分析 我们有一块大小为3*n的土地,n即为我们的输入 这块土地可以种花,要求花和花之间上下左右不可相邻,且至少要种一朵,只要花种的位置不同就视作不同的种植方案 输出可以种花的方案数 我们发现,种植的行数是固定的 = 3 因此每一列的种植情况是死的,我们暂时不考虑至少要种一朵这个条
展开全文
摸鱼学大师
发表于 2021-08-04 22:23:50
思路: 题目的主要信息: 一个的土地,至少种一株花 当某个位置种了花,其上下左右不能再有花,问种花的方案数 数比较大,需要返回 方法一:动态规划具体做法:首先解决上下花不能邻近的问题,如下图:图中每列表示三行中的任意一列,对于任意一列,我们以0表示不种花,1表示种花,我们可以发现二进制数为3、6
展开全文
呆喵挠琴
发表于 2021-09-05 18:07:33
思路: 题目的主要信息:种花土地大小为3*n,1≤n≤1e5,根据题目要求,种花时需要满足以下两种条件: 土地上至少要有一朵花 每朵花的上下左右不能有花 方法一:动态规划 根据题目信息,总共有n列3x1的土地,如果用1代表在这格上种花,0代表这格不种花,在3x1的土地上种花有以下几种情况:我们用
展开全文
问题信息
动态规划
数组
难度:
9条回答
13收藏
3606浏览
热门推荐
通过挑战的用户
查看代码
牛客66667...
2022-03-21 21:48:42
syfzzz
2021-12-15 08:57:20
煌爸爸
2021-10-18 18:34:30
牛主ss
2021-09-25 21:00:13
牛客54710...
2021-09-25 15:20:36
相关试题
下面伪代码程序: C...
Java工程师
C++工程师
安卓工程师
运维工程师
算法工程师
商汤科技
2018
嵌入式工程师
评论
(1)
来自
嵌入式工程师能力评估
在Java语言中,关于集合框架类的...
Java
评论
(1)
大模型的“集成学习”主要是指什么?
大模型概念
评论
(1)
评估大型语言模型生成文本质量时,R...
大模型概念
评论
(1)
关于大模型推理优化的技术方向,最符...
大模型概念
评论
(1)
牛牛爱花
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ public int solve (int n) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ int solve(int n) { // write code here } };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 列数 # @return int整型 # class Solution: def solve(self , n ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ public int solve (int n) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ function solve( n ) { // write code here } module.exports = { solve : solve };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 列数 # @return int整型 # class Solution: def solve(self , n ): # write code here
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ func solve( n int ) int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ int solve(int n ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 列数 # @return int整型 # class Solution def solve(n) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ def solve(n: Int): Int = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ fun solve(n: Int): Int { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ public int solve (int n) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ export function solve(n: number): number { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ func solve ( _ n: Int) -> Int { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 列数 * @return int整型 */ pub fn solve(&self, n: i32) -> i32 { // write code here } }
1
4