【问题标题】:how to model the below transformation如何对以下转换进行建模
【发布时间】:2013-04-13 17:03:34
【问题描述】:

我有一个数据哈希图,键是字符串描述,值是整数权重。

{:a 2 :b 3 ......}

我需要将散列转换为向量的向量。每个内部向量都包含映射条目。

[[[:a 2][:b 3]...][......]]

每个内部向量都是根据一些规则构建的。例如所有权重的总和不应超过某个值

通常这似乎是一个减少哈希的好案例,其中哈希被转换为映射条目向量的向量。但是,我可能需要多次迭代哈希,因为我可能需要重新排列内部向量之间的条目,以便所有向量总和为某个 num。

关于我应该如何建模问题的任何建议?

【问题讨论】:

    标签: clojure


    【解决方案1】:

    嗯,首先,Clojure 映射已经是向量序列。所以不需要reduce

    => (for [e {:a 1 :b 2}] e)
    ([:a 1] [:b 2])
    

    不要将其视为“迭代”,您应该采用定义一个函数的方法,该函数接受您的输入向量并返回一个带有调整的新序列。递归调用此函数,直到达到所需的总和。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-29
      • 2015-11-03
      • 2023-03-22
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多