我正在尝试各种方法来实现一个程序,依次给出pi的数字。 我尝试了泰勒级数方法,但是它certificate了收敛速度非常慢(当我比较我的结果和在线值之后)。 无论如何,我正在尝试更好的algorithm。 所以,在编写程序时,我遇到了一个问题,就像所有的algorithm一样:我怎么知道我计算的n数字是准确的?
昨天我是从干净的洗衣店袜子配对,并找出我做的方式不是很有效。 我正在做一个天真的search – 挑一只袜子,“迭代”一堆,以find它的一对。 这要求平均迭代n / 2 * n / 4 = n 2/8袜子。 作为一名计算机科学家,我在想我该怎么办? sorting(根据大小/颜色/ …)当然想到实现O(NlogN)的解决scheme。 哈希或其他非原地解决scheme不是一种select,因为我无法复制我的袜子(尽pipe如果我可以很好)。 所以,这个问题基本上是: 给定一堆n对袜子,包含2n元素(假设每个袜子只有一对配对),那么将它们有效配对到对数额外空间的最佳方法是什么? (如果需要的话,我相信我可以记住这个数量的信息。) 我将非常感谢一个解决以下问题的答案: 大量袜子的一般理论解决scheme。 袜子的实际数量并不大,我不相信我的配偶和我有30多双。 (把袜子和她的袜子区分开来是相当容易的,这个也可以使用吗?) 这是否相当于元素清晰度问题 ?
有一个优秀的C ++解决scheme(实际上是2个解决scheme:recursion和非recursion)到整数向量向量的笛卡尔乘积 。 为了说明/简单起见,让我们只关注非recursion版本 。 我的问题是,如何可以推广这个代码与模板采取一个std::tuple同构向量std::tuple看起来像这样: {{2,5,9},{"foo","bar"}} 并生成一个tuple向量 {{2,"foo"},{2,"bar"},{5,"foo"},{5,"bar"},{9,"foo"},{9,"bar"}} 如果它使生活更容易,让我们假设input中的内部向量是均匀的。 所以这样的input是不允许的 : {{5,"baz"}{'c',-2}} 编辑改变input从锯齿状vector到元组
为什么我在哈希表上看到这些函数的不同运行时复杂性? 在维基上,search和删除是O(n)(我认为哈希表的重点是有恒定的查找,所以如果search是O(n),有什么意义)。 在某些课程笔记中,我看到了一些复杂性,取决于某些细节,包括所有的O(1)。 为什么如果我能得到所有的O(1),还有其他的实现呢? 如果我在像C ++或Java这样的语言中使用标准哈希表,我可以期望时间复杂度是多less?
在解决几何问题的同时,我遇到了一种称为滑动窗口algorithm的方法。 无法find任何研究材料/细节。 algorithm是什么?
我正在尝试使用自定义sorting谓词来构build堆。 由于进入它的值是“用户自定义”types,所以我不能修改它们的内置比较谓词。 有没有办法做到这样的事情: h = heapq.heapify([…], key=my_lt_pred) h = heapq.heappush(h, key=my_lt_pred) 或者甚至更好,我可以包装heapq函数在我自己的容器中,所以我不需要继续传递谓词。
给定一个数组,find每个元素的下一个更小的元素,而不改变元素的原始顺序。 例如,假设给定的数组是4,2,1,5,3。 结果数组将是2,1,-1,3,-1。 我在一次采访中被问到了这个问题,但是我想不出比一般的O(n ^ 2)解决scheme更好的解决scheme。 任何我能想到的方法,即制作一个二叉search树,或sorting数组,都会扭曲元素的原始顺序,从而导致错误的结果。 任何帮助将不胜感激。
我正在试图实现一个硬币的问题,问题说明是这样的 创build一个函数来计算可用于给定数量的所有可能的硬币组合。 All possible combinations for given amount=15, coin types=1 6 7 1) 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 2) 1,1,1,1,1,1,1,1,1,6, 3) 1,1,1,1,1,1,1,1,7, 4) 1,1,1,6,6, 5) 1,1,6,7, 6) 1,7,7, 函数原型: int findCombinationsCount(int amount, int coins[]) 假设硬币数组是sorting的。 对于上面的例子,这个函数应该返回6。 任何人指导我如何实现这?
我需要比较两个string并计算它们的相似性,以筛选最相似string的列表。 例如。 search“狗”会返回 狗 该死 沼泽 多雾路段 有雾 例如。 寻找“裂缝”将返回 裂纹 俏皮话 架 插口 嘎嘎 我遇到过: 水银 的Liquidmetal 你知道更多的string相似度algorithm吗?
说我有一些数据,为此我想在它上面安装一个参数化模型。 我的目标是find这个模型参数的最佳值。 我正在使用AIC / BIC / MDLtypes的标准进行模型select,这种标准奖励低误差的模型,但也惩罚高复杂度的模型(我们正在寻求最简单但最令人信服的解释,可以这么说, 奥卡姆的剃刀 )。 接着上面,这是我得到的三种不同的标准(两个要最小化,一个要最大化)的例子: 在视觉上,你可以很容易地看到肘部的形状,你会为该地区的某个地方的参数select一个值。 问题是我正在做大量的实验,我需要一种方法来find这个值,而不需要干预。 我的第一个直觉就是试图从angular落画出一个45度angular的直线,并继续移动直到它与曲线相交,但是说起来容易做起来难。:)如果曲线有些偏斜,也可能会错过感兴趣的区域。 任何想法如何实现这个,或更好的想法? 以下是重现上述其中一个地块所需的样本: curve = [8.4663 8.3457 5.4507 5.3275 4.8305 4.7895 4.6889 4.6833 4.6819 4.6542 4.6501 4.6287 4.6162 4.585 4.5535 4.5134 4.474 4.4089 4.3797 4.3494 4.3268 4.3218 4.3206 4.3206 4.3203 4.2975 4.2864 4.2821 4.2544 4.2288 4.2281 4.2265 4.2226 4.2206 4.2146 4.2144 4.2114 4.1923 […]