- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个格式对列表 (a: A, x: Int)
,并且 x
在列表中不重复。现在我知道 x
在一定范围内 0 until n
,我想做一个大小为 n
的数组,其 i
第一个元素的类型是 Option[A]
。如果原始列表中有一对(a, i)
,则为Some(a)
,否则为None
。一个简单的例子:
Original List (n = 6):
(a1, 1)
(a2, 2)
(a3, 5)
Desired Output:
(0, None)
(1, Some(a1))
(2, Some(a2))
(3, None)
(4, None)
(5, Some(a3))
当然我们可以得到一个可变数组,遍历原始列表并填充相应的元素。但是,如果时间复杂度不应该是 n
的超线性,那么 fp 风格的做法是什么?也许这是一个简单的问题,但我就是无法理解......希望有人能帮忙。谢谢!
最佳答案
如果你有一个很大的集合和很多/很大的间隙,这会浪费内存。我建议您改为使用 Map[Int,B]
并使用 get
操作,它返回一个 Option[B]
。交换可以按如下方式完成:
scala> List("a1"->1, "a2"->2, "a3"->5)
res3: List[(java.lang.String, Int)] = List((a1,1), (a2,2), (a3,5))
// swap the elements and create a Map
scala> res3.map(_.swap).toMap
res4: scala.collection.immutable.Map[Int,java.lang.String] = Map(1 -> a1, 2 -> a2, 5 -> a3)
scala> res3.map(_.swap).toMap.get(3)
res5: Option[java.lang.String] = None
scala> res3.map(_.swap).toMap.get(1)
res6: Option[java.lang.String] = Some(a1)
关于scala - fp 风格的做法是什么 "naive hashmap",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14221488/
我正在将 TortoiseSVN 用于我的 C++ 项目,并试图将“分支”重新集成到主干中。 我的情况很简单,因此对于分支中已更改的每个文件,我希望它完全覆盖主干中的匹配文件。不幸的是,Tortois
朴素贝叶斯的朴素是什么? 最佳答案 实际上有一个很好的例子on Wikipedia : In simple terms, a naive Bayes classifier assumes that t
我开始学习 Haskell 并且我一直在阅读 this Haskell 的 wiki 页面,报告了这个 qsort 实现: qsort :: (Ord a) => [a] -> [a] qsort
我有一个格式对列表 (a: A, x: Int),并且 x 在列表中不重复。现在我知道 x 在一定范围内 0 until n,我想做一个大小为 n 的数组,其 i 第一个元素的类型是 Option[A
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
我正在尝试使用 Java 编写一个简单的 Kafka Producer。该应用程序接受两个输入: 要生成消息的 Kafka 主题名称 包含要生成到 Kafka 的消息的文件路径 我写了下面的代码。当我
这个问题已经有答案了: C++ strange results - brute force is quicker than Rabin-Karp...? (1 个回答) 已关闭 3 年前。 我实现了
我正在对我的 Django 应用程序进行 Docker 化。由于我将数据库从 SQLite 更改为 Postgres,迁移失败并收到此错误: RuntimeWarning: DateTimeField
我的环境: 驯象师:0.7 Hadoop:1.0.3 我做了什么: 安装了 mahout,并测试了朴素的贝叶斯示例 - 20newsgroup,它运行良好。 我想要达到的目标: 有 trainnb 和
我正在尝试使用 IPython 发送一封简单的邮件。我没有设置任何模型仍然出现此错误。可以做什么? Error : /home/sourabh/Django/learn/local/lib/pytho
我想我或多或少了解朴素贝叶斯,但我对它在简单二进制文本分类中的实现有几个问题。 假设文档 D_i是词汇表的一些子集 x_1, x_2, ...x_n 有两个类c_i任何文档都可以落在上面,我想计算 P
我已经看到推荐使用 GetHashCode 函数的素数实现,例如 here .但是,使用以下代码(在 VB 中,抱歉),似乎该实现提供了与“天真”异或实现相同的哈希密度。如果密度相同,我认为两种实现中
我正在使用资源管理器功能进行分类。我的.arff数据文件有10个数字和二进制值的特征; (只有实例的 ID 是名义上的)。我有大约 16 个实例。要预测的类别是是/否。我使用了朴素贝叶斯,但我无法解释
我在理解express.js路线时遇到了一些麻烦 如果我设置开箱即用的 hello world 应用程序,我将获得带有单个路由的基本设置 app.get('/', routes.home); 正如在e
我正在尝试编码而不在我的控制台中抛出任何警告。到目前为止,我一直很擅长避免这种情况,直到这个案例为止,这对我来说就像先有鸡还是先有蛋的情况。 from datetime import datetime
分而治之 (D&C) 解决方案和矩阵乘法的朴素解决方案都是使用 C 编程语言“就地”实现的。所以根本没有动态内存分配。 正如我们对这两种解决方案所了解的那样,它们实际上具有相同的时间复杂度,即 O(n
有人可以解释一下这是怎么行不通的吗? 有问题的 shapefile 是 here并在代码中读作 shp=gpd.read_file("Microdatos_Censo_2017_Manzana/Mic
ModuleNotFoundError Traceback (most recent call last) in () 3 import operator 4 from fu
我正在尝试预测某些文档的标签。每个文档可以有多个标签。这是我编写的示例程序 import pandas as pd import pickle import re from sklearn.cross
托管我的db 的服务器位于美国。当我向 db 添加项目时,我希望使用 Australia/Sydney 时间存储时间。无论用户在哪个国家/地区,如果他们检索此记录,都应使用 Australia/Syd
我是一名优秀的程序员,十分优秀!