recursion 相关问题

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

在 C# 中使用递归

使用递归时是否有关于如何避免堆栈溢出的一般规则?

回答 10 投票 0

返回两个括号之间的字符串的递归方法

字符串中只有一对括号;括号是平衡的。我不允许使用内部使用 for 循环的方法,例如 String#contains();正则表达式是

回答 2 投票 0

递归 Typescript 类型的错误行为不一致

我有一种类型,允许将对象中从顶部(根)属性到对象中每个子属性的任何路径描述为字符串数组。 它应允许在任何级别停止 它...

回答 1 投票 0

递归类型不适用于可选属性

我有一个类型定义,允许我通过表示对象或嵌套数组的键的字符串/索引数组来导航对象: 导出类型 PredicateFunction 我有一个类型定义,允许我通过表示对象或嵌套数组的键的字符串/索引数组来导航对象: export type PredicateFunction<ArrayType> = (array: ArrayType, index?: number) => boolean; export type IndexOrPredicateFunction<Type> = number | PredicateFunction<Type>; export type StatePathKey = IndexOrPredicateFunction<any> | string; export type StatePath<Obj, Path extends (string | IndexOrPredicateFunction<any>)[] = []> = object extends Obj ? Path : Obj extends object ? (Path | // Check if object is array (Obj extends readonly any[] ? // ...when array only allow index or PredicateFunction StatePath<Obj[number], [...Path, IndexOrPredicateFunction<Obj[number]>]> // ...when object generate type of all possible keys : { [Key in string & keyof Obj]: StatePath<Object[Key], [...Path, Key]> }[string & keyof Obj])) : Path; 这适用于例如这个界面: interface State1 { test: { nestedTest: boolean } } 像这样: const t1: StatePath<State1> = ['test', 'nestedTest']; 但是一旦我有了可选属性,它就会崩溃: interface State2 { test: { nestedTest?: boolean } } 知道如何解决这个问题吗?我已经尝试在该类型上使用 -? 但没有成功。 在此处查找用于复制的沙箱:Typescript Playground 解决此特定问题的最简单方法是将支票从 object extends Obj 更改为 object extends Required<Obj>。如果 Obj 结果是一个 弱类型,这意味着它是一个对象类型,其中 all 的属性都是 可选,那么 TypeScript 将看到空对象类型 {} 和 object 类型可分配给它。 例如,object extends {a?: string, b?: number} 是 true。但随后该类型会在您不希望它出现的地方退出。 有多种方法可以继续,但是通过使用 Required<T> 实用程序类型,您可以将 object 与需要可选属性的类型版本进行比较。虽然 object extends {a?: string, b?: number} 为 true,但 object extends Required<{a?: string, b?: number}>(又名 object extends {a: string, b: number})为 false。 因此,现在该类型将不会退出,除非 Obj 确实为空,或 object,或 unknown 等。 Playground 代码链接

回答 1 投票 0

递归 .bat 文件将 jpegtran 和 pngout 应用于子文件夹中的所有图像

我有这个脚本来优化目录内的图像,我需要进行递归以优化子目录中的所有图像,保持文件名和文件夹结构不变..任何人...

回答 1 投票 0

在 Ocaml 中跟踪嵌套递归

我试图通过使用排序列表算法来理解 OCaml 中的深度嵌套递归。因此,我正在跟踪下面的代码,它具有递归函数排序并调用另一个有趣的...

回答 2 投票 0

--x 在此代码中工作正常,但 x-- 出现 StackOverflowError

私有静态 int fib(int 0, int 1, int x, int s) { if(x==0) 返回 s; 零=一; 一 = s; s= 0 + 1; 返回 fib(零,一,x--,s); } 私有静态 int fib(int ...

回答 1 投票 0

非常慢的递归类型

我使用一个对象来保存应用程序中的所有状态。该对象是任意深度嵌套的,因此我希望能够描述一条仅选择该状态的一部分的路径。 我写了一个递归...

回答 1 投票 0

浮点函数返回 1.#QUAN0 而不是实际值

我编写这个程序是为了使用递归得到 i 的值,该值暴露于 j 的幂中。作为一名学生,练习解决同一问题的不同方法可能有益于......

回答 1 投票 0

为什么我的 Java 3D 数组在递归过程中其大小从 3 变为 2?

我正在解决一个 leetcode 问题,其中我初始化了一个 3D 数组,如下所示: int dp[][][] = new int[s.length()][t.length()][3]; 最初,第三维的大小为 3,一切正常......

回答 1 投票 0

一二三四五六七八九十十一十二

一二三四五六七八九十十一十二

回答 2 投票 0

Python 中的递归函数

考虑 Python 中的基本递归: def 斐波那契数(数): 如果数字 == 0:返回 0 elif 数 == 1: 返回1 别的: 返回斐波那契(数字-1)+斐波那契(数字-...

回答 11 投票 0

给定一串数字,返回最大可能的双调数作为整数

给定一个函数largest_bitonic_at_most(n),找到最大的正双调整数并返回它。 在这个问题中什么被认为是双调的? 如果仅按升序排列,则它是双调的(e...

回答 1 投票 0

(Python) 给定一串数字,返回最大可能的双调数作为整数

给定一个函数largest_bitonic_at_most(n),找到最大的正双调整数并返回它。 在这个问题中什么被认为是双调的? 如果仅按升序排列,则它是双调的(e...

回答 1 投票 0

递归 - 未按预期返回值

我目前正在编写一个程序,以返回从自身减去的数字的所有加法(例如,如果 3 是数字,则输出应该是 6 (3+2+1)。本质上,我试图有

回答 1 投票 0

CVC5中如何定义递归函数?

我在 cvc5 中使用递归函数时遇到问题。我试图声明以下函数: f(x) = 如果 x <= 0 then 0 else f( x - 1 ) Then I try to assert f(3) = 0. My issue is I keep

回答 1 投票 0

vb.net 仅限外部的属性或方法

vb.net 中是否有一种简单的方法可以从内部名称空间中屏蔽公共属性或方法? 作为一个重构工具来隔离内部依赖关系并可能强制执行...

回答 2 投票 0

为什么我在使用 return 时得到的返回值为 None,但它在我尝试过的所有其他情况下都有效?

# 示例代码 导入日期时间 样本={ “吃”: [ 日期时间. 日期时间(2024, 9, 13, 2, 0), 日期时间. 日期时间(2024, 9, 13, 3, 0), “2024-09-13 20:43:35.440898...

回答 1 投票 0

递归关系和重叠子问题

我是动态编程的新手,我试图了解递归和记忆的基础知识,同时尝试解决非相邻元素的最大和 - 问题。阅读一些理论后...

回答 2 投票 0

利用下载百分比实现Java递归

公共类JavaRecursion { 静态无效 downloadStatus(int 百分比) { System.out.println("下载地址为 " + 百分比 + "% ”): 下载增加(); }

回答 1 投票 0

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