掘友等级
获得徽章 0
程序里边为什么都使用左闭右开呐?
比如用for循环做个遍历,很多人都习惯用 0<=i<n。
很多语言中处理列表的方法也都是左闭右开,比如substring。
很多年前,dijkstra就研究过这个问题,他有三个论据:
1.半开半闭比较容易获取序列的长度,end-start就可以得出结果,其它的都还得加或者减1。
2.左闭不会超出序列的范围,比如数字区间是1-10,使用左开的话,就得写成0<i,而0不在数字区间内。特别极端情况下可能还会导致溢出。
2.比较容易表示空序列,使用[x,x),实际例子比如substring(0,0)。
总之这样写就是很优雅。![[呲牙]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_2.cd1e2bd.png)
jym 猫猫到底要不要在笼子里养
有没有深圳南山这边的小伙伴,哪家驾校比较靠谱
?
jym,有没有擅长喝茶泡茶的,什么茶叶比较好喝?
下一页