在先前的博文中提到了如何自己寫乙個演算法來實現該功能。雖然演算法很簡單,但畢竟需要自己實現。如果用objc的話,其foundation中自帶了nsindexset和nsmutableindexset類,可以很方便的為我們解決這個問題:
nsmutableindexset *set = [nsmutableindexset indexset];
nsarray *ary = @[@0,@1,@2,@3,@5,@7,@8,@9,@27];
for(nsnumber *n in ary)
nslog(@"set is %@",set);
輸出結果:
set
is0x1e68640>[number
of indexes: 9 (in
4 ranges), indexes: (0-3) 5 (7-9) 27]
當然如果我們願意可以自己手動遍歷其中的range,可以使用如下例項方法:
[set enumeraterangesusingblock:^(nsrange range,bool *stop)];
乙個神奇的實現 計算陣列尾部對稱長度
靈光一閃,得到這一句 all map lambda x x 1,series i mid series mid 對折,相乘,全是 1 爽到死!完整 如下 import numpy as npimport matplotlib.pyplot as plt 函式 返回陣列尾部對稱長度 defsymmet...
乙個神奇的實現 計算陣列尾部對稱長度
靈光一閃,得到這一句 all map lambda x x 1,series i mid series mid 對折,相乘,全是 1爽到死!完整 如下 import numpy as np import matplotlib.pyplot as plt 函式 返回陣列尾部對稱長度 def symme...
求乙個數字陣列裡的最大連續數字的個數
問題 求乙個數字陣列裡的最大連續數字的個數。比如 3,4,4,4,2,2,3,4 return 3。此題為google的面試題。分析 設定兩個變數 全域性最大連續數字個數 maxsucc 以及區域性連續數字個數 temp。從第二個數字開始,如果當前數字比前乙個數字大1,則 temp 遇到不滿足條件的...