【发布时间】:2022-01-16 14:51:50
【问题描述】:
我正在实施 Happy Number 计划。快乐数是用每个数字的平方和替换后最终达到1的数字,如果序列中有2个重复数字,则不是快乐数。
例如:
7 --> 0^2 + 7^2 = 49 --> 4^2 + 9^2 = 97 --> 130 --> 10 --> 1 --> happy number
18 --> 65 --> 61 --> |37| --> 58 --> 89 --> 145 --> 42 --> 20 --> 4 --> 16 --> |37| --> not happy number
我的想法是将每个操作的结果存储到一个数组中,然后遍历该数组以检查该数组是否有重复的数字。但我认为这样做是低效的。
所以想问一下如何在随机顺序数组中快速找到一个元素,有没有更高效的方案解决方案?
任何帮助将不胜感激。
【问题讨论】: