原题

LCP 07.传递信息

题解

方法一 动态规划

动态规划说明某一种状态一定与前一种或者前几种状态有关。我们不妨设立一个二维数组ans,其中ans[j][i]表示的是,从0开始,通过j+1步到达i的方式种数。
在一开始的时候,我们需要初始化第0行,也就是从0位置开始,第一步就能到达的地方;之后再根据从1到k-1,每一种步数用一个循环周期,在每个循环周期内遍历relations,ans[j][i]等于所有ans[j-1][k]的和,其中k表示的是relation中第二位置是i的第一个位置的值。
本思路java代码示例:

/*
@v7fgg
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:37.2 MB, 在所有 Java 提交中击败了100.00%的用户
2020年7月19日 15:38
*/
class Solution {public int numWays(int n, int[][] relation, int k) {//ans[j][i]表示从0开始,通过j+1步到达i的方式种数int ans[][]=new int[k][n];//ans[0][?]也就是第一步到达某位置的种数for(int i=0;i<relation.length;i++){if(relation[i][0]==0){ans[0][relation[i][1]]++;}}//ans[j][?]跟ans[j][??]有关,其中??表示能到达?的所有点for(int j=1;j<k;j++){for(int i=0;i<relation.length;i++){ans[j][relation[i][1]]+=ans[j-1][relation[i][0]];}}return ans[k-1][n-1];}
}

空间优化版:

/*
@v7fgg
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:36.8 MB, 在所有 Java 提交中击败了100.00%的用户
2020年7月19日 16:28
*/
class Solution {public int numWays(int n, int[][] relation, int k) {int ans[]=new int[n];int ansT[]=new int[n];for(int i=0;i<relation.length;i++){if(relation[i][0]==0){ansT[relation[i][1]]=1;}}for(int j=1;j<k;j++){for(int i=0;i<relation.length;i++){ans[relation[i][1]]+=ansT[relation[i][0]];}for(int i=0;i<n;i++){ansT[i]=ans[i];ans[i]=0;}}return ansT[n-1];}
}

leetcode LCP 07.传递信息相关推荐

  1. LeetCode LCP 07. 传递信息 / NC111 最大数 / NC16 判断二叉树是否对称 / NC13 二叉树的最大深度

    祝我党百年华诞生日快乐 LCP 07. 传递信息 2021.7.1 每日一题 题目描述 小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下:有 n 名玩家,所有玩家编号分别为 0 - n-1 ...

  2. leetcode LCP 07. 传递信息

    BFS&DFS&DP 题目描述 DFS BFS DP 题目描述 小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下: 1.有 n 名玩家,所有玩家编号分别为 0 - n-1, ...

  3. 【力扣-LeetCode】LCP 07. 传递信息 C++题解

    LCP 07. 传递信息 难度简单248收藏分享切换为英文接收动态反馈 小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下: 有 n 名玩家,所有玩家编号分别为 0 - n-1,其中小朋友 ...

  4. 文巾解题 LCP 07. 传递信息

    1 题目描述 2 解题思路 2.1 动态规划 定义动态规划的状态 dp[i][j] 为经过 i 轮传递到编号 j 的玩家的方案数,其中0≤i≤k,0≤j<n. 由于从编号 0 的玩家开始传递,当 ...

  5. LCP 07. 传递信息

    小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下: 有 n 名玩家,所有玩家编号分别为 0 - n-1,其中小朋友 A 的编号为 0 每个玩家都有固定的若干个可传信息的其他玩家(也可能没有 ...

  6. LCP 07. 传递信息 (Python 实现)

    题目: 小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下: 1.有 n 名玩家,所有玩家编号分别为 0 - n-1,其中小朋友 A 的编号为 0 2.每个玩家都有固定的若干个可传信息的其他 ...

  7. ⭐算法入门⭐《二分枚举》简单15 —— LeetCode LCP 18. 早餐组合

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   小扣在秋日市集选择了一 ...

  8. LeetCode——LCP 29. 乐团站位[简单]——分析及代码(Java)

    LeetCode--LCP 29. 乐团站位[简单]--分析及代码[Java] 一.题目 二.分析及代码 1. 直接计算 (1)思路 (2)代码 (3)结果 三.其他 一.题目 某乐团的演出场地可视作 ...

  9. leetcode - LCP 42. 玩具套圈 -二分 -坐标映射 -区间查找 - 坐标范围快速查找

    文章目录 解法1 - 给定圈,找套中的玩具 - 超时 解法 2 - 给定玩具找能套中它的圈 - 超时 解法 3 解法2的基础上加入 二分查找区间 - 通过 解法4 - 解法2的基础上 映射x的同时映射 ...

最新文章

  1. 从0开始搭建编程框架——插件
  2. 编程题:二维平面整数点集求最大值
  3. java list 面试题_java【集合】面试题
  4. 动态规划——打家劫舍(Leetcode 198)
  5. 自定义php报错信息,自定义PHP的错误报告处理方式
  6. 使用vagrant因用户权限导致文件不可写问题的解决
  7. Android 性能优化---(7)布局优化
  8. SQL笔记(1)索引/触发器
  9. Spark--安装和配置遇到的所有问题
  10. OpenMP4.0: #pragma openmp simd实现SIMD指令优化(ARM,X86,MIPS)
  11. 异速联大于400并发分散型项目应用介绍
  12. 解决多线程编程中大并发数等待唤醒的问题
  13. 快速云:云服务器四种部署模式之私有云
  14. 公钥基础设施 PKI 技术与应用发展
  15. 程序员不能只会敲代码还要会投资理财
  16. 每天一个Lodash源码解析
  17. 智慧的车联网,是否会让我们失去操控的乐趣?
  18. Google Earth Engine(GEE)对比显示不同城市的地表温度
  19. Node.js最新最详细安装教程(2020)
  20. 《痞子衡嵌入式半月刊》 第 24 期

热门文章

  1. html在线浏览pdf文件
  2. Vue登录界面精美模板分享
  3. 大数据分析师是干什么的
  4. 【软工】软件生命周期
  5. Nginx配置cros跨域以及遇到401响应的问题
  6. Python通过文字生成语音,随机获取视频或图片素材生成伪原创的短视频
  7. 自己写三国杀之架构分析
  8. 静态html页面传递参数,javascript实现静态页面之间的传值
  9. 【计算机网络】第四章:数据链路层(Part2.广播信道的数据链路)
  10. 恢复电脑快捷方式白图标