生成數字
回答
我首先想到的是他們是數字出現的次數,後面跟着數字本身。
你的第一想法是正確的。
打破第一陣列下拉至:
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