0
A
回答
0
在C++:
size_t amount = 1;
size_t count = 0;
for(size_t i=1;i<=n;++i){
cout << i << " ";
++count;
if (count == amount){
cout << endl;
count = 0;
++amount;
}
}
輸出對於n = 29:
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
22 23 24 25 26 27 28
29
的想法跟蹤要在當前行中打印的元素數量,並跟蹤el的數量在當前行中打印的元素。當我們爲當前行打印的元素數量與爲該行打印的元素總數相同時,重置計數並增加下一行要打印的元素數量。你可以混淆格式以獲得更漂亮的輸出,但這是如何在O(n)時間和O(1)空間中完成的要點。
1
嵌套循環並不一定意味着它不再是O(n)
。如果裏面有什麼嵌套循環被執行O(n)
次,則嵌套循環是完美的罰款:
cur_num <- 1
cur_step <- 1
while cur_num <= n
for i <- 1 to cur_step
print cur_num++
cur_step++
print '\n'
有了一個for循環,這是可行的,但是稍微不太愉快
cur_num <- 1
cur_step <- 1
cur_step_consumed <- 0
for i <- 1 to n
print cur_num++
cur_step_consumed++
if cur_step_consumed == cur_step
cur_step_consumed <- 0
cur_step++
print '\n'
相關問題
- 1. Java金字塔顯示
- 2. 倒數數字金字塔
- 3. OpenCV Image金字塔顯示問題
- 4. Javascript金字塔名稱顯示
- 5. 顯示對象的金字塔/ SQLAlchemy
- 6. C++反數字金字塔
- 7. C++金字塔的數字
- 8. 在金字塔中使用金字塔認證
- 9. 金字塔在java中
- 10. 金字塔在Java中
- 11. 金字塔
- 12. 金字塔subrequests
- 13. 金字塔,由
- 14. 金字塔
- 15. 金字塔:sqlalchemy.exc.OperationalError
- 16. 瞭解Java中的金字塔數字
- 17. java中的數字金字塔。
- 18. 如何在金字塔中完成響應後執行方法?
- 19. 在hudson中顯示PHP_Depend概述金字塔
- 20. 如何通過金字塔顯示多行文本
- 21. 關於金字塔
- 22. 獲取金字塔
- 23. 獲取金字塔
- 24. 金字塔pserve比/
- 25. 打印字母金字塔
- 26. 「金字塔」的字母
- 27. 印刷字母金字塔
- 28. Python金字塔與字母
- 29. Spotfire中創建金字塔
- 30. 人口金字塔在Highcharts
嵌套的循環沒有按」這意味着它不是'O(n)'! – Shahbaz
init:prev < - 0,並且在循環中:if(i == prev + 1){prev ++;打印換行符; }請注意,就大O符號而言,這並沒有使它有更好的性能。 – amit