在 topcoder 上有一篇离散二分搜索文章,我在那里遇到了这个表达式。
while(lo & lt; hi )
if(i + j & lt ; = x )
如下面所描述的
我从未见过这个表达“;” 在 while 循环中并在其中使用 & 。
而且,一般来说,我想知道按AND &位运算符做什么(我知道它在二进制级别是如何工作的,但我想知道如何在不将数字转换为二进制形式的情况下计算最终结果)以及下面代码中的 if 语句.
int getMostWork(vector folders, int workers) {
int n = folders.size();
int lo = * max_element(folders.begin(), folders.end());
int hi = accumulate(folders.begin(), folders.end(), 0);
while (lo & lt; hi) {
int x = lo + (hi - lo) / 2;
int required = 1, current_load = 0;
for (int i = 0; …Run Code Online (Sandbox Code Playgroud)