daily log 12.17.20

1 minute read

11

link

“Verbal” walk through

as a human computer, I would go through each number and:

  1. check four right
  2. check four left
  3. check four up
  4. check four down
  5. check four diagonally

How will I access these?

  1. RIGHT (and left?): array[i][i] * array[i][i+1] * array[i][i+2] * array[i][i+3]
  2. UP (and down?): array[i][i] * array[i+1][i] * array[i+2][i] * array[i+3][i]
  3. DIAG: array[i][i] * array[i+1][i+1] * array[i+2][i+2] * array[i+3][i+3]
# mp = 0
mm = mega_matrix
products = []
for idx in range(len(mm[0])):
    for jdx in range(len(mm)):
#     for jdx in range(1):    
        
# ====== CHECK RIGHT
        try:
            print(mm[idx][jdx], mm[idx][jdx+1], mm[idx][jdx+2], mm[idx][jdx+3])
            prod = mm[idx][jdx] * mm[idx][jdx+1] * mm[idx][jdx+2] * mm[idx][jdx+3]
            products.append(prod)
            if prod > mp:
                mp = prod
        except:
            pass
        
# ====== CHECK DOWN
        try:
            print(mm[idx][jdx], mm[idx+1][jdx], mm[idx+2][jdx], mm[idx+3][jdx])
            prod = mm[idx][jdx] * mm[idx+1][jdx] * mm[idx+2][jdx] * mm[idx+3][jdx]
            products.append(prod)
            if prod > mp:
                mp = prod
        except:
            pass
        
# ====== CHECK DIAG  1   
        try:
            print(mm[idx][jdx], mm[idx+1][jdx+1], mm[idx+2][jdx+2], mm[idx+3][jdx+3])
            prod = mm[idx][jdx] * mm[idx+1][jdx+1] * mm[idx+2][jdx+2] * mm[idx+3][jdx+3]
            products.append(prod)
            if prod > mp:
                mp = prod
        except:
            pass
        
# ====== CHECK DIAG  2   
        try:
            print(mm[idx][jdx], mm[idx-1][jdx-1], mm[idx-2][jdx-2], mm[idx-3][jdx-3])
            prod = mm[idx][jdx] * mm[idx-1][jdx+1] * mm[idx-2][jdx+2] * mm[idx-3][jdx+3]
            products.append(prod)
            if prod > mp:
                mp = prod
        except:
            pass