小编Cob*_*her的帖子

在Swift中在Decimal,Binary和Hexadecimal之间转换

我想知道的是转换代码最有效的方法(在swift 2中):

  • 十进制到二进制
  • 二进制到十进制
  • 十进制到十六进制
  • 十六进制到十进制
  • 二进制到十六进制
  • 十六进制到二进制

我已经有了一个基本的,冗长的方法来实现这一目标,但我想找到一种非常有效的方法.

对不起,如果问题有点长......

binary hex swift

19
推荐指数
1
解决办法
1万
查看次数

在Python字典中查找具有相同值的所有键

假设我有一本字典:

dict = {"Jim": "y", "Bob": "y", "Ravioli": "n"} #etc...
Run Code Online (Sandbox Code Playgroud)

我想打印出所有值为"y"的键(即:"Jim","Bob").我该怎么做(以最简单的方式让像我这样的noobie了解)?

*PS这个问题已在SO上得到解答,但解决方案只返回一个值而不是全部(以及其他我不理解的).

PPS.看起来每个人似乎都认为它是重复的,但是SO不会让我删除我的问题,因为它有答案.(*

python dictionary

3
推荐指数
1
解决办法
2万
查看次数

查找数字所有因子的最有效方法?

免责声明:在SO上也有与此类似的问题,但是 它们要么都不解决算法的效率问题,要么用另一种语言编写。看到这个关于python效率的答案,看看它是否可以帮助您回答我的问题。

因此,我需要有效的方法来找到任意给定数量的所有因素,这些因素可以快速处理非常大的数量。我已经有一些可以迭代的代码,但是要花很长时间才能处理超过6个字符的数字。

编辑:根据要求,这是我执行此操作的一些无效方法(为清楚起见,省略了错误检查)

真的很乱

    @IBAction func findFactorsButton(_ sender: AnyObject) {
    if let _ = textField.text, !textField.text!.isEmpty {
        counter = 1
        factors = []
        repeat {
            counter += 1
            if Int(textField.text!)! % counter == 0 {
                factors.append(String(counter))
            } else {
                continue
            }
        } while counter != Int(textField.text!)
        factors.removeLast()
        outputLabel.text = factors.joined(separator: ", ")

    } else {
        outputLabel.text = ""
    }
}
Run Code Online (Sandbox Code Playgroud)

更少混乱的解决方案(操场):

func calculateFactors(n: Int) -> String {
    var …
Run Code Online (Sandbox Code Playgroud)

algorithm performance swift

1
推荐指数
1
解决办法
1567
查看次数

标签 统计

swift ×2

algorithm ×1

binary ×1

dictionary ×1

hex ×1

performance ×1

python ×1