633. 平方数之和——双指针

2020-07-21  本文已影响0人  含泪若笑

这个题我抄了两种解法,因为我是看一个目录在做题,所以第一反应双指针,但是这个地方要注意这两个数字可以相同,我之前左右指针没有加等于的限制,结果输入2的时候就报错了,所以好好审题。然后今天突然发现上面还有击败了多少用户,感觉以前都没有注意,这个应该就会知道算法优不优吧。

代码:

https://github.com/hanleirx/LeetCode/blob/master/633.%20%E5%B9%B3%E6%96%B9%E6%95%B0%E4%B9%8B%E5%92%8C%E2%80%94%E2%80%94%E5%8F%8C%E6%8C%87%E9%92%88

另一种就是用sqrt,数学方法,我觉得和LeetCode上面的第一题有点类似,都是利用数学求值,然后看看有没有。这里的官方的答案用的long,我也试了,用int会超时,long就不会,好奇怪,我不知道为什么,但我改成了用int不超时的方法,就是把c开了根号,这样遍历的时间就少了,就不会超时了。

代码:

https://github.com/hanleirx/LeetCode/blob/master/633.%20%E5%B9%B3%E6%96%B9%E6%95%B0%E4%B9%8B%E5%92%8C-%20sqrt

上一篇下一篇

猜你喜欢

热点阅读