生成数字
回答
我首先想到的是他们是数字出现的次数,后面跟着数字本身。
你的第一想法是正确的。
打破第一阵列下拉至:
1, 1,
2,
3, 3,
1
而第二个是:
2, 1,
1, 2,
2, 3,
1, 1
那么就应该更有意义。
样品实施:
#!/usr/bin/env python
import sys
array = map(int, sys.argv[1:])
print array
count = 0
current = array[0]
index = 1
output = []
for number in array:
if current != number:
output.append(count)
output.append(current)
current = number
count = 0
count += 1
output.append(count)
output.append(current)
print output
演示:
> ./arrays.py 1 1 2 3 3 1
[1, 1, 2, 3, 3, 1]
[2, 1, 1, 2, 2, 3, 1, 1]
哦,谢谢!我感到困惑的最后2个1的,现在做多大意义:) – 2013-02-09 09:29:55
什么ü觉得是正确的。它是独立元素出现的次数,然后是元素本身的次数。
这里是伪代码:
array1 = given input array
array2 = output array
int previous = array1[0];
int currentCount = 0;
for each entry x in array1 {
if(x == previous) {
currentCount++;
}
else {
array2.add(currentCount);
array2.add(x);
//reset global variables for next elements
previous = x;
currentCount = 0;
}
}
假设了'数组1 [0] == INT_MAX'? – Johnsyweb 2013-02-09 09:33:24
没有,只是想有一定的价值是不是在阵列1。 – 2013-02-09 09:35:34
但在你的代码中,如果我们有1,1,2 ..它将首先放1,1,..而不是2,1,...因为当我们第一次遇到1时,它不等于先前的变量,我们最终将它添加到结果数组中。但第二次,我们再次遇到1,这次它等于上一次,但计数器是0 ..所以它不会输出2,1,...对吗? – 2013-02-09 09:40:25
而哈斯克尔版本...是啊,这就是整个事情。
import Data.List
countArray list = concat [[length l, fromIntegral (head l)] | l <- group list]
- 1. 生成数字
- 2. 生成数字VB.NET
- 3. 为字典生成字数
- 4. 生成的数字序列
- 5. Lua - 生成数字序列
- 6. 生成数字签名
- 7. 随机生成数字?
- 8. 生成两个数字
- 9. 生成使用数字
- 10. Elasticsearch数字标识生成
- 11. 帕斯卡,生成数字
- 12. 生成一串数字python
- 13. 生成PDF字节数组
- 14. 生成一系列数字
- 15. 生成6位数字
- 16. 在R中生成数字
- 17. RandomStringGenerator生成字母数字字符串
- 18. 生成的字母数字字符串
- 19. 随机数生成和排除生成的数字
- 20. 生成随机数onclick并计算生成的数字?
- 21. 生成字母数字串顺序
- 22. 为给定数字生成金字塔?
- 23. 自动生成字母数字ID
- 24. JavaScript:console.log()生成数字而不是字符
- 25. 生成字母数字员工ID
- 26. 生成字符
- 27. 生成字符
- 28. 从给定数字生成随机数
- 29. 在数组中生成随机数字
- 30. JQuery Lipsum生成器不生成字
它们是什么想说的是_“拿号的列表。怎么算多次在列表中出现的每个号码,并创建一个新的列表,列出每个数字的计数” ._ – 2013-02-09 09:28:59
它有点暧昧。的次数连续出现数或时间的数字,这个数字后出现了一些?两者都给出了相同的结果。我不认为这个问题适合于SO。 – nawfal 2013-02-09 09:30:04
@BurhanKhalid它与你所描述的更接近,但是当你遇到数组中的不同元素时,你不得不重置计数器。检查最后一个数字1.它在结果列表的末尾引起1,1。 – 2013-02-09 09:54:02