一、前言
如图,题目如上。
官方解析
这句话是真的看不懂,百度后说说我的理解。
二、正文
1.了解意义
n:为数组长度
k:相当于数组中一个元素要走k步
思路一:
a: 1圈其实意思是你走完一个n,a圈就是你遍历完数组走了a个n。举例来说;
(1)数组【1,2,3,4,5】 k=2
走一圈:
1 2 3 4 5 | 1 2 3 4 5 | 1 2 3 4 5
1=》3=》5===》2=》4====》1
到这其实就算是一圈,5=》2实是第二圈
所以这里a*n 为 2*n = 2 * 5 = 10
b*k在这里是:在遍历a圈中,即就这3圈里面,遍历了b(这里就是:1,3,5,2,4)个元素
所以b * k = 5 * 2 = 10
(2)再来一个数组:【1,2,3,4】 k = 2
走起:
1 2 3 4 | 1 2 3 4
1=》3 ===》 1
1 2 3 4 | 1 2 3 4
2 =》4 ==》 2
同理:
这个圈数更明显:是2圈,即a*n = 2*4 = 8
b*k = 2 * 2 + 2 * 2(分开看) =(2+2) * 2(总体看) = 8
思路二:(一圈是从1到1)
等式成立是因为:在一圈中,元素总量不变
(1)
1 2 3 4 5 | 1 2 3 4 5 | 1 2 3 4 5
1=》3=》5===》2=》4====》1
这里一圈是:1 2 3 4 5 1 2 3 4 5 ,即a*n = 2 * n = 10,2就是a
b*k 这里可以看成 b个元素同时走k步就得到了新的数组
(2)
1 2 3 4 | 1 2 3 4
1=》3 ===》 1
第一圈: a*n = 1 * 4
b*k = 2 * 2
1 2 3 4 | 1 2 3 4
2 =》4 ==》 2
第二圈: a*n = 1 * 4
b*k = 2 * 2
b*k可以理解为:从宏观上看,在1个闭环圈中,数组中b个元素同时走k步得到想要的数组,
a*n可以理解为:在一个闭环圈中,有 a个n(这样的数组)
等式之所以相等:即b*k与a*n的过程总量不变。
三、番外
团子股好还是雪乃股好