【发布时间】:2011-07-30 17:43:32
【问题描述】:
我有一组具有以下属性的 Race 对象:
- 方式
- race_period_id
- track_id
我想将那些 Race 对象——其中 way 和 track_id 属性值相同——收集到一个名为复数数组的新数组中。 (基本上,每个重复的 Race 对象都由 way 和 track_id 定义。)在另一个名为singular_array 的数组中,我想收集所有不重复的 Race 对象。
例如,假设我有四个具有以下属性值的 Race 对象:
比赛1:
- 方式 = 1
- race_period_id = 20304
- track_id = 94949
比赛2:
- 方式 = 2
- race_period_id = 20888
- track_id = 94949
比赛3
- 方式 = 1
- race_period_id = 20899
- track_id = 94949
比赛4
- 方式 = 1
- race_period_id = 20888
- track_id = 885858
所以这里我有两个“复数”对象:race 1 和race3。还有两个“奇异”对象:race2 和 race4。
如果我有一个名为 get_plural_and_singular_arrays(races_array) 的方法,我会使用什么算法来返回一个 plural_array(仅包含对象 race 1 和 race3)和一个 singular_array(仅包含对象race2 和race4)?
def get_plural_and_singular_arrays(races_array)
# algorithm here
return plural_array, singular_array
end
【问题讨论】:
标签: ruby arrays algorithm logic