Groovy序列的一个数字

Groovy序列的一个数字,第1张

概述如何在Groovy中获取给定数字序列,例如: def number = 169// need a method in groovy to find the consecutive numbers that is, 1,6,9,16,69,169// not 19! Groovy中有一个名为subsequences()的方法,但这并没有完全做好这项工作.谁能说我怎么能用Groovier方式做到 如何在Groovy中获取给定数字的序列,例如:

def number = 169// need a method in groovy to find the consecutive numbers that is,1,6,9,16,69,169// not 19!

Groovy中有一个名为subsequences()的方法,但这并没有完全做好这项工作.谁能说我怎么能用GroovIEr方式做到这一点?或者有内置方法吗?

解决方法 虽然在游戏后期,这里的解决方案不如@ tim的复杂,但也可以解决问题:

def str = 169 as Stringdef result = [] as SortedSet(0..<str.length()).each { i ->    (i..<str.length()).each { j ->        result << str[i..j].toInteger()    }}

编辑:

代码就像两个嵌套循环一样,迭代数字的String表示并从中提取各种子字符串.

外部循环表示子字符串的起始索引,内部循环表示子字符串的结束索引.外部循环将从String的开头到结尾,而内部循环从当前的起始索引开始并从那里开始到结束.

as SortedSet确保结果中没有重复的数字,并且数字按升序排序.

1 6 9  ----- 0 1 2  <-- index =====[1]6 9  (i=0; j=0)[1 6]9  (i=0; j=1)[1 6 9] (i=0; j=2) 1[6]9  (i=1; j=1) 1[6 9] (i=1; j=2) 1 6[9] (i=2; j=2)
总结

以上是内存溢出为你收集整理的Groovy序列的一个数字全部内容,希望文章能够帮你解决Groovy序列的一个数字所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1228137.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存