r - 如何找到“收集最大硬币”DP 解决方案的时间复杂度?
问题描述
谁能帮我详细分析这个算法
检查以下链接:
https ://www.geeksforgeeks.org/collect-maximum-coins-before-hitting-a-dead-end/
这个问题有两个解决方案,第一个我认为没有 DP 是指数的,但另一个是 O(RC) 与动态编程和记忆。
其中 R 是 2D-Array 的行数,C 是列数。
我需要知道如何在数学上详细地找到这个时间复杂度 O(RC)。
解决方案
DP 解决方案填充RxCx2
表格dp
,并且每个单元格dp
可能被访问不超过五次 - 初始填充、此单元格的计算以及来自三个方向(上、左、右)的请求。
所以整体复杂度是O(R * C)
推荐阅读
- java - 父Activity无法拦截的Android Swipe Gesture
- javascript - 使用直接缓存访问时在地图中获取查询值
- ios - UIActivityViewController 不在 Facebook 上共享文本和图像
- java - Java Spark如何保存一个JavaPairRDD
, 哈希表 > 归档? - tensorflow - 如何修剪神经网络中的神经元
- r - 在R中按索引组合行
- html - 将一个 div 放在另一个 div 下方
- java - ojAlgo:切片或提取子矩阵
- java - 使用媒体播放器流式传输音频
- java - 将 Paint 组件添加到 JPanel