按照提示,维护一个指针一直指向最高为的1
只有i=2k时,increament才会进一位,其中k>=1 and k<=lgn
假设进行了m次increament操作后,进行reset操作
则increament需要O(m)时间,reset需要1+2+3+...+lgm=O(lgm)时间
所以设ki次increament操作后,进行reset操作
其中k1+k2+k3+...=n
则需要O(k1)+O(lgk1)+O(k2)+O(lgk2)...<O(n)+O(n)=O(n)
按照提示,维护一个指针一直指向最高为的1
只有i=2k时,increament才会进一位,其中k>=1 and k<=lgn
假设进行了m次increament操作后,进行reset操作
则increament需要O(m)时间,reset需要1+2+3+...+lgm=O(lgm)时间
所以设ki次increament操作后,进行reset操作
其中k1+k2+k3+...=n
则需要O(k1)+O(lgk1)+O(k2)+O(lgk2)...<O(n)+O(n)=O(n)