簡述
相信很多人在敲代碼的時候,都會發現在編程中的區間幾乎都是左閉右開的,這種左閉右開的區間表示方式讓我們冥冥中覺得很方便,還有就是索引的下標從0開始。左閉右開和從零開始讓我們對於像二分或者遍歷的寫法有一些混亂,但熟悉了它們的本質之后寫起代碼來就得心應手了。
什么是左閉右開
左閉右開是一種區間表示方式,例如在整數上[3,6)表示3,4,5三個數,閉代表取值取到那個數,開代表取值取不到那個數。
左閉右開的好處
對於一個左閉右開區間[l,r)來說
能表示單獨一個數
若區間內只有一個數我們可以用像[1,2)表示1,注意[x,x]不符合數學上區間的定義(左區間比右區間大)
便於統計區間內個數
r減l正好是區間內元素的個數,對於左閉右閉區間來說r-l+1才是區間內元素
便於表示空集
空集可以用[x,x)表示
便於切割區間
例如我們要在區間內找到一個切割點x,並把x左邊歸為一個區間,x和x右邊歸為一個區間則切割后的區間就可以用[l,x)和[x,r)表示
和數組下標相匹配
對於一個從0開始的長度為n的數組來說,[0,n)正好表示這個數組的所有下標,如果用閉區間則要用[0,n-1]來表示