Как я могу избежать типизации для этой ситуации в Java - PullRequest
0 голосов
/ 28 октября 2019

Вот ситуация, я должен привести из int в long и обратно в int из long. Мне интересно, могу ли я избежать этого приведения.

long temp = (long) i + nums[i];  // i + nums[i] could be bigger than Integer.MAX_VALUE
                                 // i and nums[] both are int type.
int row = (int) (temp % 2);
int col = (int) (temp / 2);

Где row и col будут использоваться для доступа к массиву позже.

Одно изменение, которое я мог бы сделать для *Оператор 1008 *,

int row = (i%2 + nums[i]%2) % 2;

Но у меня нет какой-либо эффективной по времени реализации для замены оператора col, чтобы я мог избежать длительного приведения первого оператора.

...