ruby - 如何减少 Ruby 中的重复输出?
问题描述
目前,我正在用 Ruby 编写代码,以找出所有可能的等于和的数字组合。但是,我遇到了 TLE 问题,并不是所有的组合都出来了。输出出现了许多重复的组合,例如:
sum([39,39,119,79,89,79,79,38,19,127.5,77,29,39,39,40,39,39])= 1009.5
sum([39,39,119,79,89,79,79,38,19,127.5,29,39,77,39,39,40,39])= 1009.5
希望有人可以教我修改我的代码以减少重复输出,也许这可以帮助解决 TLE 问题。谢谢。我的代码:
def subset_sum(numbers,target,partial=[])
s = partial.inject 0, :+
puts "sum(#{partial})=#{target}" if s == target
return if s >= target
(0..(numbers.length - 1)).each do |i|
n = numbers[i]
remaining = numbers.drop(i+1)
subset_sum(remaining ,target ,partial +[n])
end
end
> subset_sum([19,19,19,39,29,40,38,39,39,39,39,39,79,59,119,119,79,129,129,78,139,69.5,89,77,79,128,98,109,109,138,127.5,119,108,148,118],1009.5)
解决方案
推荐阅读
- react-native - React Native 堆栈导航中的闪烁问题
- java - 在将 neo4j 查询结果投影/映射到接口或 DTO 类时抛出 NoRootNodeMappingException
- vue.js - 在 Vue.js 中上传之前检查文件的宽度和高度?
- office-js - 如何强制加载项从服务器刷新,而不是缓存?
- javascript - 嵌套函数失去了这个范围
- python - 当我将图像导入我的小程序时,我不断收到“ValueError:randrange() 的空范围”
- react-hooks - 我想获取产品并通过点击发送到 Reactjs 中具有相同数据的详细信息页面
- css - CSS:类的悬停效果
- qt - 测试时如何在 QDialog 中实现鼠标点击?
- powershell - 使用相对路径运行 PsExec