For (int i=0,j=0; i<ch.size(); i=j){ }

what does i=j do here?

class Solution {
public:
    int compress(vector<char>& ch) {
        int w=0;
        for (int i=0,j=0; i<ch.size(); i=j){
            for (j=i; j<ch.size() && ch[i]==ch[j]; ++j){}
            ch[w++]=ch[i];
            if (j-i>1)
                for (auto c: to_string(j-i))
                    ch[w++]=c;
        }
        return w;
    }
};
``

because for each i, j would increase till ch[j] == ch[i] and then you need to increase i to the point till j increased thats why we do i = j.

ohh got it thank you