memoization 相关问题

在计算中,memoization是一种优化技术,主要用于通过函数调用来避免重复计算先前处理的输入的结果来加速计算机程序。

回收Python对象ID对于Pickler来说会是一个问题吗?

我读到 pyhton 会回收 ID,这意味着新对象最终可能会使用先前存在并被销毁的对象的 ID。我还读到了有关泡菜的内容: pickle 模块跟踪...

回答 1 投票 0

react中useMemo和cache的区别

在React中,我们有最新的新功能,称为cache,那么react中的cache和useMemo钩子之间应该有什么不同 从“反应”导入{缓存};

回答 1 投票 0

在Python中缓存类属性

我正在用python编写一个类,并且我有一个属性需要相对较长的时间来计算,所以我只想执行一次。另外,并不是该类的每个实例都需要它,所以...

回答 11 投票 0

为什么叫记忆化?

记忆化是一种动态编程技术,其中昂贵的函数调用的结果被存储和重用,防止冗余计算并提高性能。 样本记忆 我...

回答 1 投票 0

LeetCode - 最小下降路径总和 - 关于记忆的问题

我正在尝试解决这个leetcode问题:https://leetcode.com/problems/minimum-falling-path-sum/description 给定一个 n x n 整数矩阵数组,返回任何下降路径 t 的最小和...

回答 1 投票 0

我可以在不使用 Next 应用程序路由器的 fetch 的情况下标记数据访问以进行手动缓存重新验证吗?

我想在 Next 项目中使用应用程序路由器实现重新验证端点,所以我认为我的选择是 revalidatePath 和 revalidateTag。 我想要重新验证的数据访问工作...

回答 1 投票 0

如何使用 Jest 模拟记忆化的 React 组件

我想模拟一个已被记忆的React组件。我正在使用 React 18.2 和 Jest 29.7 以及 Typescript,以防万一。我已经尝试了几种方法,但似乎找不到有效的方法......

回答 1 投票 0

斐波那契与记忆灵丹妙药

我正在学习函数式编程,我用 Elixir 做了一个简单的斐波那契数列。 我知道在函数式编程中不可能改变值,我编写了一个代码来用备忘录制作斐波那契数...

回答 4 投票 0

如何将向量存储为地图的键[重复]

我想记住需要两个 int 的函数的返回结果。我知道我可以将向量转换为像 1-2 这样的字符串,但是还有其他方法吗? 我尝试将数组设置为地图但是...

回答 2 投票 0

如何在不使用嵌套映射的情况下将向量存储为映射的键[重复]

我想记住需要两个 int 的函数的返回结果。我知道我可以将向量转换为像 1-2 这样的字符串,但是还有其他方法吗? 我尝试将数组设置为地图但是...

回答 2 投票 0

有没有办法将向量存储为Javascript映射中的键? [重复]

我想记住需要两个 int 的函数的返回结果。我知道我可以将向量转换为像 1-2 这样的字符串,但是还有其他方法吗? 我尝试将数组设置为地图但是...

回答 1 投票 0

在测试期间访问`beforeAll`设置的值

这是我得到的: 规格 :: 规格 规格=做 经理 <- runIO newManager it "foo" $ do -- code that uses manager it "bar" $ do -- code that usees manager The docs for runIO sug...

回答 1 投票 0

为什么棋盘中骑士概率的解法是错误的?

leetcode 的问题陈述 - https://leetcode.com/problems/knight-probability-in-chessboard/ 基本上,骑士从给定的位置开始,随机选择 8 个可能的动作中的 1 个。它使...

回答 1 投票 0

如何在 SciPy 中预先计算冻结随机变量的常量?

我定义了一个自定义连续分布,并实现了 _pdf 和 _cdf 方法。 对于这些,我需要计算昂贵的常数(给定参数),即标准化常数 fo...

回答 1 投票 0

使用 Memoization 解决 Grid Traveler 问题时出现奇怪的值?

我正在学习动态编程,我刚刚开始解决一些简单的问题。我正在做一个网格旅行者问题,你从网格的左上角开始,你只能向左移动或做...

回答 2 投票 0

React 的 ESLint:是否有规则来检测需要 useMemo 的 props?

使用 React,在功能组件返回的 JSX 代码中我可以得到: 我的组件.jsx 或者 通过 React,在功能组件返回的 JSX 代码中我可以得到: MyComponent.jsx <MySubComponent props1={{a: 0, b:1}}/> OR <MySubComponent props2={["toto", "tata"]}/> 我的子组件是通过记忆导出的: MySubComponent.jsx export default React.memo(MySubComponent) 但是这会破坏记忆,因为格式为 {{...}} 或 {[...]} 的 props 每次都会实例化一个新的对象/数组(相同的值,但不同的内存地址) ,因此 React.memo 的 propsshallow-compare 看到它不同。 有没有 ESLint/JSLint 规则来检测这些类型的 props ? 您可以使用 useMemo 来记忆对象或数组并将其作为 props 传递给 MySubComponent,如下所示: const obj = React.useMemo(() => ({a: 0, b:1}), []); <MySubComponent props1={obj}/> 在 SubComponent.jsx 中 export default React.memo(MySubComponent); 这只适用于简单的对象。 由于您已经知道该问题,因此不需要 eslint 来识别它,除非这是一个重复的模式。看来你已经过了发现阶段了。 我建议选择以下两个选项之一: 使用自定义函数覆盖 React.memo(Component, isEqual) 的第二个参数,您可以在其中按值比较输入数组或对象,因此只要内容保持不变,更改 prop 引用就变得无关紧要。但是,如果您广泛地重新渲染该组件,这可能会成为一种开销。 您的另一个选择是在组件外部定义数组和对象,并继续传递修改后的内容,但保持引用相同。 是的,存在一个插件:eslint-plugin-react-perf -> https://www.npmjs.com/package/eslint-plugin-react-perf

回答 3 投票 0

递归、记忆和动态编程之间有什么区别? [重复]

相关问题: 动态编程和记忆:自上而下与自下而上的方法 我已经阅读了很多关于此的文章,但似乎无法理解它。有时递归和动态...

回答 5 投票 0

为 go 函数添加缓存,就好像它是静态成员一样

假设我有一个昂贵的函数 func 非常昂贵的函数(int) int 并且这个函数会因为同一个号码而被多次调用。 有没有一个好方法可以让这个函数存储以前的结果......

回答 4 投票 0

尽早突破开始/结束块

我想要一种方法来退出开始/结束块,同时仍然分配其结果分配给的变量。 定义 foo @foo ||= 开始 加上“运行” 如果为 true,则返回“提前离开”# 将是...

回答 2 投票 0

Java记忆方法

我遇到了一个有趣的问题,想知道是否以及如何在 Java 中完成此操作: 创建一个可以记住任何函数/方法的方法。该方法具有以下参数:我...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.