recursion 相关问题

递归是一种函数调用,函数调用自身。这些函数也称为递归函数。结构递归是一种解决问题的方法,其中问题的解决方案取决于对同一问题的较小实例的解决方案。

递归查找列表的所有组合

问题陈述 我想从我的列表中获取所有可能的组合(包括空列表)。 到目前为止我的代码是: 定义组合(l): 结果=[] 对于范围内的项目(len(l)): 铜...

回答 5 投票 0

C 程序使用递归函数时出现分段错误错误

嗨,我有一个pair类型的数组(其中包含两个整数赢家和输家)。这里输家有可能是另一对中的赢家。一个失败者可能有不止一对,其中失败者......

回答 1 投票 0

SICP 递归过程与迭代过程:使用递归过程生成迭代过程

在SICP第1.2.1节中,作者给出了下面这样一个代码示例来展示如何使用迭代过程来解决阶乘问题: (定义(阶乘 n) (事实 1 1 n)) (定义(事实-我...

回答 2 投票 0

正则表达式引擎如何解析具有递归子模式的正则表达式以匹配回文?

这个正则表达式匹配回文: ^((.)(?1) |.?)$ 我无法理解它是如何工作的。 递归何时结束,以及正则表达式何时从递归子模式中断并转到 &q...

回答 4 投票 0

正则表达式引擎如何解析具有递归子模式的正则表达式?

这个正则表达式匹配回文: ^((.)(?1) |.?)$ 我无法理解它是如何工作的。 递归何时结束,以及正则表达式何时从递归子模式中断并转到“...

回答 4 投票 0

编程挑战:在不使用循环或本机反转函数的情况下反转字符串

如何编写一个简短的 PHP 函数来反转字符串? 该函数必须: 只有一个参数, 不使用内置函数 strrev() 或 array_reverse(),并且 不使用循环结构...

回答 12 投票 0

嵌套树的递归函数不按“顺序”返回

我有一个包含嵌套数组的数据结构 - 我想显示数据以使其看起来像文件结构 - 因此嵌套数据表示为嵌套文件/文件夹。然而缺点...

回答 2 投票 0

如何在 Rust 中定义任一/或特征边界

我有以下标记特征和一些定义: 特质 HasProperty {} 结构属性1; 结构属性2; struct WithProperty {} 我想实现以下目标... 我有以下标记特征和一些定义: trait HasProperty<P> {} struct Property1; struct Property2; struct WithProperty<P, Tail> {} 我想实现以下目标: fn check::<P, T>(token: T) where T: HasProperty<P> {} fn test() { let token1 = WithProperty<Property1, WithProperty<Property2, ()>>; let token2 = WithProperty<Property1, ()>; check::<Property1>(token1); // should compile check::<Property2>(token1); // should compile check::<Property1>(token2); // should compile check::<Property2>(token2); // should fail with "WithProperty<Property1, ()> does not implement HasProperty<Property2>" } 但是我不明白如何实现WithProperty的特质一致性。由于特征定义重叠,以下内容不起作用: impl<P, Tail> HasProperty<P> for WithProperty<P, Tail> {} impl<P, P2, Tail> HasProperty<P> for WithProperty<P2, Tail> where Tail: HasProperty<P> {} 我在 Yew 中发现以下内容解决了同样的问题,但我无法理解它是如何工作的:https://github.com/yewstack/yew/blob/master/packages/yew/src/html/component /properties.rs. 要理解yew解决方案,最好要求编译器转储宏扩展的 AST。这样您就可以准确地看到生成的结构和特征是什么。 我不知道这是否正是在yew中的工作原理,但类似的东西是有效的,也许一些丑陋的部分可以隐藏在宏中: use std::marker::PhantomData; trait HasProperty<P, How> {} struct Property1; struct Property2; struct WithProperty<P, Tail>(PhantomData<P>, Tail); fn with<P, Tail>(t: Tail) -> WithProperty<P, Tail> { WithProperty(PhantomData, t) } fn check<P, How>(token: &impl HasProperty<P, How>) {} struct Directly; impl<P, Tail> HasProperty<P, Directly> for WithProperty<P, Tail> {} struct Step<N>(N); impl<P, P2, Tail, N> HasProperty<P, Step<N>> for WithProperty<P2, Tail> where Tail: HasProperty<P, N> {} fn main() { let token1 = with::<Property1, _>(with::<Property2, _>(())); let token2 = with::<Property1, _>(()); check::<Property1, _>(&token1); // compiles check::<Property2, _>(&token1); // compiles check::<Property1, _>(&token2); // compiles // check::<Property2, _>(&token2); // fails with "the trait bound `(): HasProperty<Property2, _>` is not satisfied" } 这两个 HasProperty 实现并不重叠,因为它们是针对两个不同的 struct 实现的。 Step 是一个(类似链表的)包装器,指示该属性存在,并且发现 N 会进入 WithProperty 嵌套。 如果你写的是: with::<Property1, _>(with::<Property2, _>(with::<Property1, _>(()))) 然后 check 调用会抱怨多个可能的 impl。我不知道yew是否能更优雅地处理这个问题。

回答 1 投票 0

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

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

回答 1 投票 0

在Python中递归打印相同数量的a和b

我想知道如何使用递归打印等量的 a 和 b 字符串。例如,如果输入为“4”,则输出将为 aabb abab bbaa、baba、baab 和 abba。 这是

回答 2 投票 0

修改Enum默认返回值

我正在尝试修改 Enum 以默认返回值: 类 EnumDirectValueMeta(EnumMeta): def __getattribute__(cls, 名称): 尝试: 返回对象.__getattribute__(cls, name).v...

回答 1 投票 0

如何避免使用 Arc 将堆数据传递给递归异步函数中的子任务?

我目前正在使用 Tokio 处理递归异步任务(它涉及遍历文件系统树并处理每个文件,具体取决于从父目录继承的上下文)。

回答 1 投票 0

为什么当我使用递归时,Python 中的生成器不返回任何内容?

我目前正在编写一种代码,通过为我提供列表中可以采用的每条路径来查找从一个机场到另一个机场的路径。机场在字典中,如下所示: 机场 = {...

回答 1 投票 0

如何在Python中构建动态嵌套循环或树?

可以有两种表达方式: 嵌套循环:如何在 python 中构建动态嵌套循环, 其中前一个外部迭代的输出 len(list) 循环是内部

回答 1 投票 0

使用递归计算数字总和/数字根

我正在尝试使用以下代码添加数字。例如,如果我的输入是 678,我的输出应该是 3。 例如。 数字根(942) => 9 + 4 + 2 => 15 ... => 1 + 5 => 6 打包代码战争;...

回答 5 投票 0

带 for 循环的 Bash 递归函数

在根文件夹中,我有一个包含一些 mp3 文件的子文件夹结构。我想将所有子文件夹和 mp3 文件复制到 sd 卡,以便 mp3 播放器读取。只需复制整个...

回答 1 投票 0

为什么chat-gpt无法使用Javascript计算出闭包函数递归的正确结果?

chat-gpt 和我之间有问题。也就是说,我指示 chat-gpt 计算以下 javascript 代码的输出。 这段代码的正确答案是 243 但 chat-gpt 告诉我

回答 2 投票 0

生成所有唯一的排列,每个数字在 Java 中出现两次

我正在Java中寻找一种有效的算法来查找数字1到N的所有唯一排列,其中每个数字出现两次。 例如: N = 2 -> 1122, 1221, 2211, 1212, 2121,...

回答 1 投票 0

即使我确实达到了比预期更好的解决方案,为什么这段代码在 leetcode 问题的测试用例中仍然失败?

问题是找到使字符串 S 成为回文的最小移动次数。假设 S 总是可以成为回文,并且移动是 S 的 2 个字符之间的简单交换 这是leetcode

回答 1 投票 0

Agda 中函数的终止检查失败

我目前正在为此项目编写以下不完整的函数: 扩展 : ∀ o asc (s : CSet (suck) o) → SC asc → SC (add s asc) 扩展 0 asc s 重写 l≡0 s Eq.refl = 限制(添加(

回答 1 投票 0

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