algorithm相关内容

在具有平均“x"的2个数字之间获取“n"随机值

我想得到 n 个介于 1 到 5(包括两者)之间的随机数(例如 n=16)(整数),因此平均值为 x. x 可以是 (1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5) 之间的任何值. 我正在使用 PHP. 例如假设我的平均 x=3. 然后需要 16 个介于 1 到 5 之间的整数(包括两者).比如 (1,5,3,3,3,3,2,4,2,4,1,5,1,5 ..
发布时间:2022-01-24 20:04:05 PHP

将整数集转换为范围

将一组整数转换为一组范围的最惯用的方法是什么? 例如给定集合 {0, 1, 2, 3, 4, 7, 8, 9, 11} 我想得到 { {0,4}, {7,9}, {11,11} }. 假设我们正在从 std::set 转换为 std::vector.我将 Ranges 视为双方的包容性,因为在我的情况下它更方便,但如果需要,我也可以使用开放式范围. 我已经编写了以下函数,但我想重 ..
发布时间:2022-01-24 19:59:04 C/C++开发

用于折叠一组可能重叠的范围的好的通用算法是什么?

我有一个方法可以获取这个类的一些对象 类范围{公共T开始;公共T端;} 在我的例子中,T 是 DateTime,但为了简单起见,我们使用 int.我想要一种将这些范围折叠成覆盖相同“区域"但不重叠的方法. 如果我有以下范围 1 到 5 3 到 9 11 至 15 12 至 14 13 到 20 方法应该给我 1 到 9 11 至 20 猜猜它会被称 ..
发布时间:2022-01-24 19:31:54 C#/.NET

Dafny 无法证明函数方法等价,高阶多态递归与线性迭代

这个消息会有点长,但那是因为我想尽可能地解释它. 在 Dafny 中,我遇到了下一个问题:给定一个数组,计算发生这种情况的长度为 k 的段的数量;片段左半部分的正数大于或等于右半部分. 作为一个例子(想象段只能是偶数,所以没有讨论半是什么): k=2 --->计数(数组[-4,-2,2,1],k)--->2,因为 [-4,-2] 满足并且 [2,1]k=4 --->计数(数组[-4, ..

使嵌套 for 循环算法 - 动态

我有一个类似这样的算法: 对于 m = 1 到 2初始化(工作项(m))对于 l = 1 到 2初始化(工作项(l))对于 k = 1 到 2初始化(工作项(k))对于 j = 1 到 2初始化(工作项(j))对于 i = 1 到 2初始化(work_item(i))doSomething(work_item(i))下一个做某事(工作项目(j))下一个做某事(工作项目(k))下一个做某事(工作项 ..
发布时间:2022-01-24 12:21:24 C#/.NET

如何递归迭代字母表?

我需要编写一个像这样遍历字母 (a-z) 的函数: (这里是 a-c 的例子) abC啊抗体交流巴bb公元前约CB抄送啊啊啊aabaac... 等等.(直到单词有 5 个字符) 知道怎么做吗?我想我需要一些递归函数. 解决方案 无需递归! for($char = 'a'; $char != 'aaaaaa'; $char++){回声 $char .PHP_EOL;} ..
发布时间:2022-01-24 12:19:18 PHP

如何迭代地计算运行加权平均值,以便最后一个值最重要?

我想实现一个迭代算法,它计算加权平均值.具体的权重规律无关紧要,但对于最新的值应该接近 1,对于最旧的值应该接近 0. 算法应该是迭代的.即它不应该记住所有以前的值.它应该只知道一个最新值和任何关于过去的聚合信息,例如以前的平均值、总和、计数等值. 有可能吗? 例如下面的算法可以是: void 迭代(双值){总和 *= 0.99;总和 += 值;计数++;平均值=总和/计数;} ..
发布时间:2022-01-24 12:13:21 其他开发

简单:通过迭代法求解 T(n)=T(n-1)+n

有人可以帮我解决这个问题吗? 用迭代法求解. T(n) = T(n-1) +n 非常感谢您解释步骤. 解决方案 T(n) = T(n-1) + nT(n-1) = T(n-2) + n-1T(n-2) = T(n-3) + n-2 以此类推,您可以将 T(n-1) 和 T(n-2) 的值代入 T(n) 中以大致了解该模式. T(n) = T(n-2) + n-1 + nT( ..
发布时间:2022-01-24 12:13:13 其他开发

Spark - 迭代算法的奇怪行为

我正在尝试使用 Spark 编写迭代算法.该算法包含一个主循环,其中使用了不同的 Spark 命令以实现并行性.如果每次迭代只使用一个 Spark 命令,那么一切正常.当使用多个命令时,Spark 的行为会变得非常奇怪.主要的问题是,一个带有 2 个项目的 RDD 上的 map 命令不会导致 2,而是导致许多函数调用. 似乎 Spark 在迭代 x 中执行从迭代 1 到迭代 x-1 的每个命 ..
发布时间:2022-01-24 12:12:45 其他开发

关于内存使用的递归与迭代

假设我对某些问题有递归和迭代解决方案(使用堆栈),例如二叉树的前序遍历.对于当前的计算机,内存方面,对于非常大树,使用递归解决方案是否比迭代版本更有优势,反之亦然? 我知道,对于某些子问题重复的递归解决方案,如果使用递归,则会产生额外的时间和内存成本.假设这里不是这种情况.例如, preOrder(节点 n){如果(n == null)返回;打印(n);preOrder(n.left);预 ..
发布时间:2022-01-24 12:11:57 其他开发

从交替的侧面循环列表

给定一个列表 a = [0,1,2,3,4,5,6,7,8,9] 我怎样才能得到 b = [0,9,1,8,2,7,3,6,4,5] 也就是说,产生一个新的列表,其中每个连续的元素都是从原始列表的两侧交替取出的? 解决方案 >>>[a[-i//2] if i % 2 else a[i//2] for i in range(len(a))][0, 9, 1, 8, 2, 7, 3, ..
发布时间:2022-01-24 12:08:17 Python

如何在不使用递归的情况下找到字符串的所有排列?

谁能帮我解决这个问题:这是一个查找任意长度字符串的所有排列的程序.需要相同的非递归形式.(首选C语言实现) 使用命名空间标准;string swtch(string topermute, int x, int y){字符串 newstring = topermute;新字符串 [x] = 新字符串 [y];新字符串[y] = topermute[x];//避免临时变量返回新字符串;}void p ..
发布时间:2022-01-24 11:53:32 C/C++开发

查找加起来为给定字符串的所有子字符串组合

我正在尝试创建一个数据结构,它包含所有可能的子字符串组合,这些组合加起来是原始字符串.例如,如果字符串是 "java",则有效结果将是 "j", "ava", "ja", "v", "a",无效结果将是 "ja", "a" 或 "a", "jav" 我很容易找到所有可能的子字符串 String string = "java";列表substrings = new ArrayLi ..
发布时间:2022-01-24 11:45:10 Java开发

迭代std :: bitset中真实位的有效方法?

有没有一种方法可以迭代(可能很大)std::bitset,它在 设置为 true 的位数中 线性/em>?我想避免检查位集中的每个位置.迭代应该连续返回每个设置为 true 的位的索引. 解决方案 标准位向量不支持对真实位的有效迭代 - 运行时间总是 O(n),其中 n 是总位数,它没有对 k 的依赖.但是,也有专门的数据结构,例如 van Emde Boas 树 和 y-fast 尝试, ..
发布时间:2022-01-24 11:43:44 C/C++开发

“为了"循环第一次迭代

我想询问是否有一种优雅的 Python 方式可以在第一次循环迭代时执行某些函数.我能想到的唯一可能是: first = True对于something.get() 中的成员:如果首先:root.copy(成员)第一个 = 假别的:某处Else.copy(成员)富(成员) 解决方案 Head-Tail 设计模式有多种选择. seq= something.get()root.copy(seq[ ..
发布时间:2022-01-24 11:34:28 Python

如何迭代地计算笛卡尔积?

这个问题询问如何计算给定数量向量的笛卡尔积.由于向量的个数是预先知道的,而且相当少,所以用嵌套的for循环很容易得到解. 现在假设给你一个用你选择的语言的向量向量(或列表的列表,或集合的集合等): l = [ [1,2,3], [4,5], [6,7], [8,9,10], [11,12], [13] ] 如果我被要求计算它的笛卡尔积,那就是 [ [1,4,6,8,11,13], [1 ..