def
get_continual_page
(data)
: final_result =
index =
0 length_data =
len(data)
while index < length_data:
# 判斷當前長度是否越界
if index == length_data -1:
# 此時訪問到最後乙個元素
[data[index]]*
2)# 列表最後乙個元素自成一頁
elif data[index]+1
== data[index +1]
: index_begin = index # 以當前頁作為續頁的開始,便於下面取續頁的首尾兩頁的下標
index +=
1while
true
:# 通過迴圈得出連續頁的下標
if index == length_data -1:
# 如果訪問到最後乙個元素,則跳過當前迴圈,不然下一行**會報錯
break
if data[index]+1
== data[index +1]
: index_end = index +
1else
:# 下乙個元素不是當前頁續頁則跳出迴圈
break
index +=
1[data[index_begin]
, data[index_end]])
else
:[data[index]]*
2)# 除尾頁以外的其他頁存在不連續
index +=
1return final_result
if __name__ ==
'__main__'
: data =[2
,4,5
,6,8
] final_result = get_continual_page(data)
print
(final_result)
利用棧來實現哦
import pytest
from handle_page import get_continual_page
continual_page_data =[(
[2,4
,5,8
],[[
2,2]
,[4,
5],[
8,8]
]),(
[1,4
,5,6
,8],
[[1,
1],[
4,6]
,[8,
8]])
,([1
,2,3
,4],
[[1,
4]])
,([1
,3,4
],[[
1,1]
,[3,
4]])
]@pytest.mark.parametrize(
'input_con, output_con'
, continual_page_data)
deftest_continual_page
(input_con, output_con)
: input_result = get_continual_page(input_con)
assert input_result == output_con
如果遍歷過程中需要修改index《訪問的下標》,無法通過for i in range(x) 來訪問, 一定用while x 迴圈來處理
我在解決問題過程中對下標越界不敏感
我在處理時候想要利用單鏈表處理CDSN上一頁下一頁功能模仿
從後台讀取記錄,如果資料過多,就需要劃分多頁去顯示,本章就是模仿cdsn來實現該功能的,採用asp動態語言實現的,求噴我,css這部分我完全是copy過來的,只改了一點,我主要完成的是asp後面的 本章也是做乙個記錄,方便後面專案中使用,如上圖所示。新建pagelist.css檔案 css docu...
less 可翻頁檢視(一頁一頁翻動)
命令解釋 less的用法比起more更加有彈性,在使用more的時候,我們沒有辦法向前翻,只能往後面看。若使用了less之後,就可以更加便捷的檢視資料了。命令說明 wenjie localhost more etc man.config generated automatically from ma...
2011 最後一頁
以前沒這個年末總結的習慣,只是寫下單位要求的官方版,寫完後發現收不住手了,有寫一篇民間版本的衝動,感覺還是總結下的好,以後還可以成個慣例,幾年過後回來看看,還是有個中的味道!工作兩年了,今年調入了公司新成立的乙個部門,這裡相對偏技術些,對業務知識的了解就越來越少了些。做了些系統通訊,連線,中介軟體的...