如果我有例如int size
幷包含例如然後具有int distance
mod
操作的列表的大小,即distance%size
是(-size - 1) <= distance <= (size - 1)
在這種情況下是否需要檢查零(模數和加法後)?
即,距離將始終在此範圍內(-size - 1) <= distance <= (size - 1)
如果我對此有誤,那麼CollectionsRotate in JDK下面的條件檢查是什麼意思?
if (size == 0)
return;
distance = distance % size;
if (distance < 0)
distance += size;
if (distance == 0) //Why this check????
return;
我可能是錯的或生鏽這裏,但我不認爲distance
在這一點上都不能爲null作爲加法的結果。如果名單是0
,我們首先不會達到這個條件。
那麼是否需要這種條件檢查?
在這裏,我想我快要瘋了所有的奇怪的答案。相當明顯的距離可以很容易地在這裏。 – Voo
+1如果'distance == n * size',其中n可以是負值或正值,模數爲0。 –