Я занимался проблемами SRM в Topcoder. Я столкнулся с этой проблемой
Заявление о проблемах: Сегодня в канун Рождества. Люди по всему миру празднуем этот праздник. Следующая история имеет место в стране оленей, где живет Санта-Клаус.
Леденцы оленей любят. У них есть кусочки конфет. Части конфеты пронумерованы от 1 до n. Дашер - один из северных оленей. Он хочет съесть одну из конфет. Чтобы выбрать тот, который он будет есть, Dasher использует следующий метод: хотя существует более одного фрагмента конфеты: отбросьте все конфеты, которые нумеруются идеальными квадратами (то есть, конфеты 1, 4, 9, 16, 25 и т.д.). Отмените оставшиеся конфеты 1 через k, сохраняя числа в том же порядке. Однажды только одна часть конфет остается, Dasher съест его.
Вам предоставляется int n. Ваш метод должен вычислять и возвращать число первоначально назначенный на кусок конфеты, съеденный Дашером.
Я решил проблему, используя ArrayList, но мое решение не работает для очень больших чисел (Java Heap Sapce Exception). Поэтому я думал, можно ли решить проблему в сложности O (1).
Пожалуйста, дайте свои предложения и предложения. Я не хочу, чтобы код объяснял только логику взлома этой проблемы.
У меня был открыт этот вопрос с описанием проблемы, так что маэстро в Stackoverflow может помочь мне взломать эту проблему в O (1) Space complex