由于是零值,它不与 dest + 1 交换。dest 保持 -1。数组不变,仍然是 [0,1,0,3,12]
cur = 1:nums[cur] 是 1,非零。...由于是零值,它不与 dest + 1 交换。dest 保持 0。数组不变
cur = 3:nums[cur] 是 3,非零。...数组变为 [1,3,12,0,0]
完成遍历后,所有非零数 [1, 3, 12] 都位于数组的前端,并且它们的相对顺序保持不变。...所有的零都被移动到了数组末尾 [0,0]
指针 dest 来跟踪最后一个找到的非零元素的位置,每次找到非零元素时,就把这个元素交换到 dest 现在的位置。...这个推导包括分析数字变化的过程以及如何必然导致循环。下面是详细的步骤:
: 定义快乐数的操作
快乐数的操作定义为:对一个正整数,重复执行将该数替换为其各位数字的平方和的过程。