memoization

    2热度

    1回答

    它可能会变得很愚蠢,但我对以不可变方式评估Scala流评估有疑问。假设我有一个像这样的Stream(所有行在repl中执行); val a = Stream(1,2,3,4,5,6,7,8,9,10); 一个:scala.collection.immutable.Stream [INT] =流(θ1,) 当运行下面的行; a(3); a 我得到了; scala.collection.im

    0热度

    1回答

    我在我的系统,并根据事件和上次计算值计算值的功能活动: 当我把这个功能我想这种行为: 如果有新的事件,它应该使用事件和去年memoized值计算新值,memoize的结果 如果没有新的事件,它应该返回memoized 这里最后的值执行我CA我与: <!-- language: lang-scala --> class EventBasedMemo[Value, Event](initialVal

    1热度

    1回答

    我试图编写一个memoize函数,它将一个函数作为参数并返回一个相似的memoized函数。 function memoize<T extends Function, R>(f: T): T { const memory = new Map<string, R>(); const g = (...args: any[]) => { if (!memory.get(a

    1热度

    1回答

    我已经得到了非记忆代码正常工作,它计算了'n'可以表示的方式的数量,给出了m个可能的值。但是我不能在下面的代码中找出为什么memoization表memoNM返回0而不是在这种情况下是24的答案。表memoNM只是在递归树中存储以前计算的值以便更快地查找。有人可以帮帮我吗? import java.util.ArrayList; import java.util.Arrays;

    0热度

    1回答

    我有四个数字,“1”,“2”,“3”,“4”。 该程序的输入是一个整数,只能包含上述4位数字。将会有很多投入。的输入 实施例:1123,4123,4444 我需要计算给定输入粘附到下面的规则的排列的数量: 没有两个类似数字应邻近彼此。例如:1223不允许,但允许2123。 开始结束的数字不应该是一样的。他们被认为是循环相邻。例如:2132是不允许的。 如果输入的长度是4位数,则结果排列的长度也应该

    2热度

    1回答

    最近,我遇到了这个问题,因为时间的推移我无法解决它。 '制作一个程序,可以通过r字段使用n种不同的颜色来绘制r的方式,而不会在同一行,同一列使用相同的颜色。 我编码为它,但它需要超过30分钟回答6只6乘6色的领域。 所以,我想到了多维memoization,但我没有想法在我的代码中添加memoization数组。 请帮我让我的代码更快或建议新的方式。 #include<stdio.h> #inc

    1热度

    3回答

    我还没有看到(还?)JSON.stringify在Node.JS中是非确定性的。 无法保证它在规格级别上是确定性的。 但是V8怎么样; 它的实现有确定性吗? 有没有保证它能够保持未来版本的V8的确定性? 编辑: 确定性我的意思是下面的说法是真实的,不管什么json_str值。 (给定的值是一个有效的JSON字符串。) const obj = JSON.parse(json_str); asser

    0热度

    1回答

    我知道memoize的目的是缓存值,以便代码可以更快运行,不必每次都重新计算相同的答案。我的问题源于返回一个函数(我认为)。 google chrome调试器对我来说并不是那么有用,因为每次我尝试运行这个memoize函数时,它都会从argus变量(在第4行,我相信)一路下降到分号。而且,结果总是返回一个空对象,而不是将结果存储在结果中。 我先定义一个函数: function add(a,b){

    3热度

    1回答

    这是一个问题:给定砖块数量n,介于3和200之间,返回可以构建的不同楼梯的数量。每种类型的楼梯应该由2个或更多的步骤组成。不允许两个步骤处于同一高度 - 每个步骤必须低于前一个步骤。所有步骤都必须包含至少一个砖块。步骤的高度被分类为构成该步骤的砖的总量。 例如,当N = 3,则只有1个的选择如何构建楼梯,与具有2的高度和具有1的高度在第二步骤中的第一步骤:(#表示砖) # ## 21 当N

    1热度

    1回答

    说我正在调试代码,其中涉及的一个或多个功能是在memoize的帮助下定义的。我将编辑一些代码,在REPL中重新加载文件,然后尝试新的代码。但是如果这个bug仍然存在,我总是会质疑是否因为我没有修复这个bug,或者因为memoize缓存了错误结果。 那么,有没有什么方法可以重新启动REPL,我可以用它来确保memoize已经失去了内存? (请注意,在REPL会话消除了memoize电话既繁琐,有时甚