선형 배열을 행렬로 변환하는 효율적인 접근 방식

Zdebrown

x 좌표, y 좌표 및 행렬 값이있는 하위 배열이 포함 된 배열이 있습니다.

// [x,y,value]
var arr = [
[1,2,0.01],
[1,3,0.02],
[1,4,0.05],
[1,5,0.03],
[2,3,0.04],
[2,4,0.02],
[2,5,0.01],
[3,4,0.06],
[3,5,0.05],
[4,5,0.07],
]

그런 다음 x_max X x_max 차원의 0으로 채워진 2D 배열 ( "행렬")이 있습니다. 이 행렬의 값을 다음과 같이 채우기 위해 계산적으로 효율적인 접근 방식을 사용하려고합니다.

// already have a variable called 'matrix' which is zero-filled

function constructMatrix(){
    for(var i in arr){
        var y = arr[i][0];
        var x = arr[i][1];
        var val = arr[i][2];
        matrix[y][x] = val;
    }
}

내가 얻는 것은 고유 한 열 값이 있지만 행에서 동일한 값을 갖는 행렬입니다. 어딘가에 내 논리에 간단한 휴식이 있습니까?

다음과 같은 출력을 기대합니다.

var matrix = [
[0.01,0.02,0.05,0.03],
[0,0.04,0.02,0.01],
[0,0,0.06,0.05],
[0,0,0,0.07],
]
워싱턴 Guedes

다음과 같이 할 수 있습니다.

var arr = [
    [1, 2, 0.01], [1, 3, 0.02], [1, 4, 0.05], [1, 5, 0.03],
    [2, 3, 0.04], [2, 4, 0.02], [2, 5, 0.01], [3, 4, 0.06],
    [3, 5, 0.05], [4, 5, 0.07]
];

// find total number of rows and columns
// add 1 because (x = 5) == (index 6)    // indexes start at 0
var rows = arr.reduce((x,y) => Math.max(x, y[0]), 0) + 1;
var columns = arr.reduce((x,y) => Math.max(x, y[1]), 0) + 1;

// initiate an empty matrix 
var matrix = [...Array(rows)].map(() => Array(columns).fill(0));

// loop over the points
arr.forEach(function(point) {
    var x = point[0];
    var y = point[1];
    var val = point[2];
    matrix[x][y] = val;
});

// your result
console.log(  JSON.stringify(matrix, 0, 2)  );
.as-console-wrapper {
  max-height: 100%!important;
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Excel 파일에서 많은 양의 행을 선택하는 효율적인 접근 방식

분류에서Dev

데이터 프레임 (또는 tibble)을 tsibble로 변환하는 효율적인 접근 방식

분류에서Dev

Bigendian 형식으로 QByteArray에서 float 배열을 얻는 효율적인 방법

분류에서Dev

더미 코딩을 만드는보다 효율적인 접근 방식

분류에서Dev

GridPane을 ScrollPane에 래핑하거나 프로그래밍 방식으로 수정합니다. 가장 효율적인 접근 방식?

분류에서Dev

패널 데이터 : 다른 변수에서 특정 행 값이있는 그룹을 식별하는 더미를 만듭니다. 효율적인 접근

분류에서Dev

모든 열을 개별적으로 UNION보다 데이터를 재구성하는 더 효율적인 방법은 무엇입니까? (접근 제한)

분류에서Dev

str을 정수로 변환하는 효율적인 방법

분류에서Dev

효율적인 방법으로 NET Core에서 한 데이터 유형의 배열을 다른 배열로 변환 하시겠습니까?

분류에서Dev

R에서 희소 행렬의 대각선을 0으로 만드는 메모리 효율적인 방법

분류에서Dev

Python에서 문자열을 ctypes.c_ubyte 배열로 변환하는 효율적인 방법

분류에서Dev

바이트 배열을 분할 한 다음 Python에서 문자열로 변환하는 효율적인 방법

분류에서Dev

행렬에서 인접한 요소를 효율적으로 찾는 방법

분류에서Dev

하나의 중첩 수준으로 셀형 배열을 푸는 가장 효율적인 방법

분류에서Dev

직접 정렬 한 배열을 효율적으로 정렬 해제하는 방법

분류에서Dev

나머지 열을 기반으로 행렬 / 배열 대각선을 효율적으로 설정하는 방법 (루프 방지?)

분류에서Dev

환경 변수를 열거하는 관용적 C ++ 14 / C ++ 17 접근 방식

분류에서Dev

배열을 열별로 고유하게 만드는 효율적인 방법

분류에서Dev

문자열을 배열로 분할하는 효율적인 방법-PHP

분류에서Dev

더 나은 접근 방식을 위해 벡터를 배열 또는 정적 벡터로 대체

분류에서Dev

이 배열을 정렬하는 더 효율적인 방법이 있습니까?

분류에서Dev

TArray <string>을 TStringDynArray로 변환하는 효율적인 방법이 있습니까?

분류에서Dev

<List <List <StrongType.String >>을 List <string>으로 변환하는 효율적인 방법

분류에서Dev

3D 행렬의 대각선을 추출하는 MATLAB 효율적인 방법

분류에서Dev

효율적인 java-matrix-library로 선형 방정식 풀기

분류에서Dev

PARTITION BY에서 행을 선택하는보다 효율적인 방법

분류에서Dev

행렬을 r 열로 부 대각선으로 바꾸는 효율적인 알고리즘

분류에서Dev

인접 행렬을 효율적으로 계산

분류에서Dev

인덱스 배열로 파이썬에서 행렬 접근하기

Related 관련 기사

  1. 1

    Excel 파일에서 많은 양의 행을 선택하는 효율적인 접근 방식

  2. 2

    데이터 프레임 (또는 tibble)을 tsibble로 변환하는 효율적인 접근 방식

  3. 3

    Bigendian 형식으로 QByteArray에서 float 배열을 얻는 효율적인 방법

  4. 4

    더미 코딩을 만드는보다 효율적인 접근 방식

  5. 5

    GridPane을 ScrollPane에 래핑하거나 프로그래밍 방식으로 수정합니다. 가장 효율적인 접근 방식?

  6. 6

    패널 데이터 : 다른 변수에서 특정 행 값이있는 그룹을 식별하는 더미를 만듭니다. 효율적인 접근

  7. 7

    모든 열을 개별적으로 UNION보다 데이터를 재구성하는 더 효율적인 방법은 무엇입니까? (접근 제한)

  8. 8

    str을 정수로 변환하는 효율적인 방법

  9. 9

    효율적인 방법으로 NET Core에서 한 데이터 유형의 배열을 다른 배열로 변환 하시겠습니까?

  10. 10

    R에서 희소 행렬의 대각선을 0으로 만드는 메모리 효율적인 방법

  11. 11

    Python에서 문자열을 ctypes.c_ubyte 배열로 변환하는 효율적인 방법

  12. 12

    바이트 배열을 분할 한 다음 Python에서 문자열로 변환하는 효율적인 방법

  13. 13

    행렬에서 인접한 요소를 효율적으로 찾는 방법

  14. 14

    하나의 중첩 수준으로 셀형 배열을 푸는 가장 효율적인 방법

  15. 15

    직접 정렬 한 배열을 효율적으로 정렬 해제하는 방법

  16. 16

    나머지 열을 기반으로 행렬 / 배열 대각선을 효율적으로 설정하는 방법 (루프 방지?)

  17. 17

    환경 변수를 열거하는 관용적 C ++ 14 / C ++ 17 접근 방식

  18. 18

    배열을 열별로 고유하게 만드는 효율적인 방법

  19. 19

    문자열을 배열로 분할하는 효율적인 방법-PHP

  20. 20

    더 나은 접근 방식을 위해 벡터를 배열 또는 정적 벡터로 대체

  21. 21

    이 배열을 정렬하는 더 효율적인 방법이 있습니까?

  22. 22

    TArray <string>을 TStringDynArray로 변환하는 효율적인 방법이 있습니까?

  23. 23

    <List <List <StrongType.String >>을 List <string>으로 변환하는 효율적인 방법

  24. 24

    3D 행렬의 대각선을 추출하는 MATLAB 효율적인 방법

  25. 25

    효율적인 java-matrix-library로 선형 방정식 풀기

  26. 26

    PARTITION BY에서 행을 선택하는보다 효율적인 방법

  27. 27

    행렬을 r 열로 부 대각선으로 바꾸는 효율적인 알고리즘

  28. 28

    인접 행렬을 효율적으로 계산

  29. 29

    인덱스 배열로 파이썬에서 행렬 접근하기

뜨겁다태그

보관