Как поменять два значения местами без третьей переменой. Популярные задачи для ИТ собеседований.

Rubik's cube

Казалось бы данная задача не решаема, в случае когда отсутствует третья переменная. Обычно можно было бы присвоить промежуточное значение в третью переменную и две другие обменять местами. Ну, а продублированное значение забрать опять таки из третьем переменой, давайте рассмотрим пример. На самом же деле все обстоит иначе, существует несколько методов обмена значений без промежуточных переменных. Давайте их рассмотрим: Арифметические методы сложения/вычитания и деления/умножения Операции сложения/вычитания: Операции деления/умножения: Главным недостатком такой замены значений является большое количество операций. Также операции деления и умножения являются более «дорогостоящими». Побитные операции

Read More