算法面试题,笛卡尔积算法

源数据

[ { "颜色": "红" }, { "颜色": "黄" }, { "尺寸": "14" }, { "尺寸": "15" } ]

结果数据

[{ "颜色": "红", "尺寸": "14" }, { "颜色": "红", "尺寸": "15" }, { "颜色": "黄", "尺寸": "14" }, { "颜色": "黄", "尺寸": "15" }]
阅读 2.3k
2 个回答

这是一个全组合遍历的问题,这种问题其实都可以映射到整数遍历问题(组合中不同元素种类映射到二进制数的多个位上),比如这里其实对应2个1bit的二进制位数,再由他们组合成完整的结果。
其中颜色需要1bit,尺寸需要1bit,所以可以由 00,01,10,11这些整数分别对应可能的组合情况。
当然这个问题中区分出有哪些组合元素种类还需要特殊处理(一个预处理过程。)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题