“Matriz de Python condensada en cuadrado” Código de respuesta

Matriz de Python condensada en cuadrado

import math

def calc_row_idx(k, n):
    return int(math.ceil((1/2.) * (- (-8*k + 4 *n**2 -4*n - 7)**0.5 + 2*n -1) - 1))

def elem_in_i_rows(i, n):
    return i * (n - 1 - i) + (i*(i + 1))//2

def calc_col_idx(k, i, n):
    return int(n - elem_in_i_rows(i + 1, n) + k)

def condensed_to_square(k, n):
    i = calc_row_idx(k, n)
    j = calc_col_idx(k, i, n)
    return i, j
Better Butterfly

Matriz de Python condensada en cuadrado

>>> square_to_condensed(1, 2, len(points))
3
>>> dist_condensed[3]
4.4721359549995796
>>> dist[1,2]
4.4721359549995796
Better Butterfly

Matriz de Python condensada en cuadrado

def square_to_condensed(i, j, n):
    assert i != j, "no diagonal elements in condensed matrix"
    if i < j:
        i, j = j, i
    return n*j - j*(j+1)//2 + i - 1 - j
Better Butterfly

Respuestas similares a “Matriz de Python condensada en cuadrado”

Preguntas similares a “Matriz de Python condensada en cuadrado”

Más respuestas relacionadas con “Matriz de Python condensada en cuadrado” en Python

Explore las respuestas de código populares por idioma

Explorar otros lenguajes de código