- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 clojure 中的 FizzBuzz 的两个解决方案中,为什么第一个更快?
; #1
(defn fizzbuzzer [z]
"fizzbuzz checker."
(let [fizz? (zero? (rem z 3))
buzz? (zero? (rem z 5))
fizzbuzz? (and fizz? buzz?)]
(cond fizzbuzz? "FizzBuzz"
buzz? "Buzz"
fizz? "Fizz"
:else z)))
; #2
(defn fizzbuzzer2 [z]
"fizzbuzz checker."
(let [fb (str
(if (zero? (rem z 3)) "Fizz" "")
(if (zero? (rem z 5)) "Buzz" ""))]
(if (seq fb) fb z)))
; profiling ;
; (time (fizzbuzzer 1500))
; => "Elapsed time: 0.098058 msecs"
; (time (fizzbuzzer2 1500))
; => "Elapsed time: 0.150438 msecs"
;; note: profiling done on separate instances to avoid caching
P.s.菲兹巴兹?
~ 如果数字可以被 3 整除,则打印 Fizz 而不是数字。如果它能被 5 整除,则打印 Buzz。如果它能被 3 和 5 整除,则打印 FizzBuzz。
最佳答案
当第一个解决方案返回对现有字符串的引用时,第二个解决方案会连接每个请求的字符串。 (str (if..) (if..)) 创建 2 个中间字符串。
如果我可以补充一点,为了进行更正确的分析,您需要重复运行这些函数一定数量的周期。为了获得更好的结果,请执行两次并丢弃第一个结果,这将允许 Java 即时编译器完成其工作。
关于clojure - clojure 中 FizzBuzz 的两种解决方案中,为什么其中一种更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12333595/
所以我正在研究一个基本的 RSA 解密程序,我试图弄清楚如何在字符串和 ZZ 之间进行转换。我看过以下问题:How can i convert a string into a ZZ number? ,
在 Android KitKat 中,如果我选择“设置”>“语言和输入法”>“语言”,我得到的第一个选择是 [Developer] Accent English。这会将每个罗马字母替换为重音版本。您可
我(为了好玩?)尝试在 Idris 中完成所有如何证明。我需要的属性之一是整数的全排序。 idris 已经有了data.ZZ提供基于归纳的整数的模块。我需要添加类似于 Nat 的 LTE 的类型。我似
我正在使用 NTL library实现 ElGamal 加密/解密算法。我已经知道它可以正常工作了,但是算法希望将消息转换为整数,以便对其进行加密。 因此,如果我输入像 1234 这样的数字,一切正常
我正在使用 NTL 库来实现我的代码,我必须将 ZZ 数字转换为二进制,然后从中取出一个子字符串并将该子字符串转换为十进制。我该怎么做? ZZ N; unsigned char pp[200]; By
当前两个字符等于zz 或ZZ 时,我想删除所有文件。我该怎么做? 最佳答案 从名称以'zz'开头的路径中获取所有对象(包括隐藏的,递归的),过滤掉目录对象并删除项目。 Get-ChildItem -
当我跳转到世界上的任何地方后,无论是在当前文件还是其他文件中,是否可以让 vim 自动运行 zz (重新居中于当前行)? 我希望在搜索、ctrl-o 和 ctrl-i 等操作之后执行此操作...以及除
是否可以使用 PHP 获取从 A 到 ZZ* 的范围? a b c ... aa ... zx zy zz 对我来说这不起作用: range('A', 'ZZ'); 它用于 PHPExcel,当它给出
我正在尝试禁用 ZZ在 vim 中映射,因为我发现自己在尝试使用 >> 时不小心退出了太多 vim (我使用西类牙语键盘)。 我的尝试很明显: nnoremap ZZ 虽然它适用于我的用例,但我发现
我正在使用 NTL 库进行 RSA 密码分析实现。但是我经常遇到一些关于类型不匹配/不兼容的问题。 例如- 我需要RR n^((h-1.0)/(h*k-1.0)) 的类型值,其中 n 是类型 ZZ ,
在 Vim 中,您可以保存所有文件并通过键入 ZZ 退出。我如何创建类似的映射但使用不同的键?一些像 h、j、k 和 l 这样的键似乎是不可能的。是否有任何键可以对 ZZ 进行类似的映射? 最佳答案
问题来了。我需要将一些整数变量转换为 ZZ 类或反之亦然。我怎么能那样做?我试过在整数之前使用 (ZZ) 或在 ZZ 类之前使用 (int) 但都失败了。 最佳答案 您还没有发布任何代码,但我相信您的
我使用 gdb 调试器打印 ZZ 类型变量的值。此数据类型在 Number Theory Library or NTL 中定义.当我使用“print x”找出我的变量的值时,我得到了这样的东西: pr
ZZ可以用c++输出 cout #include std::string zToString(const ZZ &z) { std::stringstream buffer; bu
如果这听起来很业余(对于你们中的许多人来说这将是),我很抱歉,但我很着急,我想我会利用这个社区的聪明才智,而不是试图创造和表达确实如此不行。 我需要在 MySQL 中实现以下目标! 在某个字段中,如果
如何获取列表中从“aa”到“zz”的字符串?我知道这是显而易见的,但不知道解决此类问题的正确习惯用法。只需用具体的例子来展示这个想法,剩下的我会弄清楚。谢谢。 尝试过 (++) ['a'..'z']
我正在 LINQ 中寻找解决方案,但任何方法都有帮助(C#)。 我尝试使用 Sort() 但它不起作用,例如我有一个包含的示例列表 {"a", "b", "f", "aa", "z", "ac", "
我的问题是一个相当复杂的问题。我正在尝试创建一个程序,该程序将从标准输入(控制台)或文件中读取输入,然后检测每个字母和每个字母对的出现次数,输出将转到逗号分隔值 (output.csv) 文件或格式化
我经常发现自己想要滚动 Vim 窗口,这样我所在的行大约是屏幕向下的四分之一——它比 zt 提供了更多的呼吸空间,但显示的代码比 zz 多。当我的光标位于我想阅读的函数的开头时,它也很有帮助,但 zt
这是表格: +----+-----------+------------+----------+ | id | id_sensor | start_time | end_time | +----+--
我是一名优秀的程序员,十分优秀!