Find All Numbers Disappeared in an Array Solution

Another way of solving find disappeared number

class Solution:
    def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
        i = 0 
        n = len(nums)
        while i < n:
            a = nums[i]
            if (a is None) or (a == "x"):
                i += 1
            else:
                b = nums[a-1]
                if (b is None) or (b == "x"):
                    nums[i] = "x"
                else:
                    nums[i] = b

                nums[a-1] = None
                
        i = 0
        j = n - 1
        while j >= i:
            a = nums[j]
            if(a == "x"):
                while i <= j:
                    if nums[i] is None:
                        nums[i] = j + 1
                        i += 1
                        break
                    else:
                        nums[i] = i + 1
                    
                    i += 1
                        
            j -= 1
            
        return nums[0:i]
                        
        
        
Comments (1)