两个整数的中间值

Mad*_*kov 5 java integer binary-search

有什么区别

int x = (right + left) / 2;
Run Code Online (Sandbox Code Playgroud)

int x = left + (right - left) / 2;
Run Code Online (Sandbox Code Playgroud)

只是我在第一种情况下得到了时间限制异常,在二次搜索时被第二种情况接受了

Sye*_*bas 3

int 变量的总和

右 + 左(超出整数限制)

太大并且超出了整数存储限制,这就是为什么由于总和而导致溢出的原因,但是当您使用差异版本时,第二个版本

左+(右-左)(在整数限制内)

它适合计算并且有利于机器。