I think your examples help answer your question. As a general rule of thumb:
if the tree is binary, your recursive call usually advances to the index (i+1).
If elements can be used multiple times, j is passed unchanged. to allow for repetition and reusing of elements.
If each element is used only once, and your tree is not binary, pass (j+1) to avoid reusing elements.