今日鸡汤:
“无人负我青云志,我自踏雪至山巅。” -徐霞客《青云志》
释义:没有人能够帮助我实现我的理想,即使面对再大的困难,我也要踏着积雪,一步步,到达山巅。
目录
1.快乐数
2.盛最多的水
双指针,是解题的一种工具方法,但是运用作用很多,且不同,不是说,双指针在每种题类型作用都一样,所以能灵活使用算法的前提,就是你的题量够多,好了,接下来,我们来看到今天的道题。
1.快乐数
题目:
解题思路:
后续,我将每个 数 各位平方相加这个操作,统称为f操作,这样方便叙述!
重点:所有数,进行一系列的f操作,一定会形成一个闭环,会有一个数与前面的数相同,然后进行f操作会形成一个闭环开始循环。
证明如下:
例子1:
例子2:
看到这里,就会想起,在数据结构中学到的环形链表,这样就不难想到,快慢指针。
指针slow和fast,他们终会在环内某点相遇,如果是快乐数,那他环内数都为1,则无论哪点相遇其值都为1.
所以判断快乐数的准则是,slow==fast时,其点值为1
代码如下:
2.盛最多的水
题目:
解题思路:
代码如下: