
[英]Java regex for a series of numbers separated with a specific separator
[英]The easiest algorithm to create a specific series of numbers
var numbers = new ArrayList<Integer>(24);
ArrayList
包含一系列递增的数字。 它从第一开始。 对于下一个元素,数字增加 2(每第三个元素增加 1 除外)。
我使用这个算法创建了它。
var number = -1;
for (var i = 1; i <= 24; i++) {
if (i % 3 != 0) {
number += 2;
} else {
number += 1;
}
numbers.add(number);
}
[1, 3, 4, 6, 8, 9, 11, 13, 14, 16, 18, 19, 21, 23, 24, 26, 28, 29, 31, 33, 34, 36, 38, 39]
但是,我不确定它是否是最佳的。
是否可以改进/更改算法以获得更好的效果?
谢谢
所以我想出来了。
var number = -1;
for (var i = 1; i <= 24; i++) {
number += (i % 3) + Math.abs(Math.signum((i % 3) - 2));
numbers.add(number);
}
[1, 3, 4, 6, 8, 9, 11, 13, 14, 16, 18, 19, 21, 23, 24, 26, 28, 29, 31, 33, 34, 36, 38, 39]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.