Product of all but one number in a sequence - Follow Up
You could eliminate the special case here:

//left most element special handling
new_arr[0]=1;

//swipe up 
for(int i=1; i&lt;arr_size; i++) {
    mult_prefix *= nums[i-1];
    new_arr[i] = mult_prefix;
}


by assigning before multiplying, and bringing index 0 into the loop:
//swipe up 
for(int i=0; i&lt;arr_size; i++) {
    new_arr[i] = mult_prefix;
    mult_prefix *= nums[i];
}

A similar transformation also applies to the downward sweep (so that each iteration only accesses nums[i], making it easier to reason about).
There is a cost associated with the simplification: an extra multiply, and risk of overflow (technically Undefined behaviour, even though we don't use the final value).