Quick actions

cmd+k|ctrl+k

Navigation

Languages

getPermutationsOfPerfectSquares

Snippet info

Language

Python

Visibility

public

Author

arthurpc02

Created

2024-09-21T02:22:48.665232Z

Updated

2024-09-21T02:44:01.095501Z



def getPermutationsOfPerfectSquares(N):
    ps_array = buildArrayOfPerfectSquares(N)
    
    array = ps_array
    print(array)
    count = 0
    while(array != []):
        count+=1
        array = getPermutations(array, N)
    
    return count


def buildArrayOfPerfectSquares(N):
    ps_array = []
    for num in range(N):
        square = (num+1)*(num+1)
        if square > N:
            return ps_array
        else:
            ps_array.append(square)
            

def getPermutations(array, N):
    return_array = []
    for idx1 in range(len(array)):
        for idx2 in range(len(array)):
            sum = array[idx1] + array[idx2]
            
            if sum == N:
                return []
            else:
                # to do: check hash map
                return_array.append(sum)
            
    return return_array

sample1 = 13
sample2 = 12
sample3 = 22

assert(getPermutationsOfPerfectSquares(sample1)==2)
assert(getPermutationsOfPerfectSquares(sample2)==3)
assert(getPermutationsOfPerfectSquares(sample3)==3)

INFO