Approach

  • sequence needs to be preserved.
  • Freq of char has to be considered.
  • can we use two pointer approach?

Time Complexity: O(S.length * T.length), from our construction of dp. Space Complexity: O(S.length * T.length)

My code

Attach screenshot: Min cost problem

My_working_codetwo_pointer_approach For below code gettingindex_out_of_range error

def moveZerosToEnd(arr):
	first_pointer = 0
	second_pointer = 1
	for i in arr:
		if i == 0:
			second_pointer += 1
		else:
			arr[first_pointer], arr[second_pointer] = arr[second_pointer], arr[first_pointer]
			first_pointer += 1
			second_pointer += 1
	return arr
 
print(moveZerosToEnd([0, 0, 1, 0, 3]))