小编Kha*_*tri的帖子

动态编程获得最大的钻石

我试图解决一个面试问题:

给定n*n的矩阵.每个单元格包含0,1,-1.0表示没有钻石,但有一条路径.1表示在该位置处存在菱形,其中路径-1表示路径被阻挡.现在你从0,0开始到达最后一个单元格,然后返回到0,0收集最大的钻石数量.在前往最后一个单元格时,您只能向右和向下移动.返回时,您只能向左和向上移动.

我已经解决了这个问题,但我不确定这是最佳解决方案.我在做什么

  • 这不是从最后一个单元格返回到第一个单元格,而是允许从初始单元格到最后一个单元格的2次迭代.
  • 当我第一次迭代时,我将尝试使用动态编程获得最大数量的钻石,之后我将从矩阵中删除第一次迭代中收集的钻石,即:从1设置矩阵值0.
  • 在第二次迭代中,我将调用与第一次迭代相同的方法,但使用修改后的矩阵.
  • 并返回两个调用的总和.

有关正确性的任何建议吗?我写了代码,如果需要,我会分享.

algorithm correctness dynamic matrix greedy

8
推荐指数
1
解决办法
6005
查看次数

在主脚本中保留helper python脚本的环境

我有一个帮助脚本,我想从主脚本调用它作为服务器.这个主要脚本如下所示:

Class Stuff():
    def __init__(self, f):
        self.f = f
        self.log = {}

    def execute(self, filename):
        execfile(filename)

if __name__ == '__main__':
    #start this script as server
    clazz = Stuff()
    #here helper_script name will be provided by client at runtime
    clazz.execute(helper_script)
Run Code Online (Sandbox Code Playgroud)

现在,客户端将通过向主脚本(服务器)提供其名称来调用此帮助程序脚本.执行后我想在主脚本中保留辅助脚本的变量(即:a,b).我知道一种方法是将这些变量从辅助脚本返回到主脚本.但是有没有其他方法可以保留助手脚本的所有变量.这是帮助脚本的样子:

import os
a = 3
b = 4
Run Code Online (Sandbox Code Playgroud)

我尝试使用execfile和subprocess.

python subprocess python-2.7

5
推荐指数
1
解决办法
177
查看次数

C++版本之间的区别

这些语言之间有什么区别 -

  • 1.C++(GCC-4.8.1)
  • 2.C++(GCC-4.3.2)
  • 3.c ++ 11(gcc-4.8.1)很多时候,在提交编码竞争网站的解决方案时,我随机选择其中任何一个,但我还没有发现任何重大差异.请任何人详细澄清这一点.

c++ gcc c++11

-2
推荐指数
1
解决办法
1919
查看次数

标签 统计

algorithm ×1

c++ ×1

c++11 ×1

correctness ×1

dynamic ×1

gcc ×1

greedy ×1

matrix ×1

python ×1

python-2.7 ×1

subprocess ×1