第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否有以這種方式重新排列二維數組的公式?

是否有以這種方式重新排列二維數組的公式?

哈士奇WWW 2021-10-27 16:25:09
有沒有公式可以對這個數組進行排序 1  2   3 4  5   6 7  8   9 10 11  12 13 14  15 16 17  18 19 20  21到1   4   710  13  1619  2   58   11  1417  20  36   9   1215  18  21取第一列并將其放在二維數組中的第一個位置這些是您重新定位后的位置[0][0] --> [0][0][1][0] --> [0][1][2][0] --> [0][2][3][0] --> [1][0][4][0] --> [1][1][5][0] --> [1][2][6][0] --> [2][0][0][1] --> [2][1][1][1] --> [2][2][2][1] --> [3][0][3][1] --> [3][1][4][1] --> [3][2][5][1] --> [4][0][6][1] --> [4][1][0][2] --> [4][2][1][2] --> [5][0][2][2] --> [5][1][3][2] --> [5][2][4][2] --> [6][0][5][2] --> [6][1][6][2] --> [6][2]我可以看到模式,但想不出公式我想用這個,如果我是對的 for(int i = 0 ; i < 3 ; i++){   for(int j = 0 ; j < 7 ; j++){       //do something here   } }
查看完整描述

2 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

你可以這樣做:


public static int[][] rearrange(int[][] input) {

    int rows = input.length, cols = input[0].length, total = rows * cols;

    int[][] output = new int[rows][cols];

    for (int i = 0; i < total; i++)

        output[i / cols][i % cols] = input[i % rows][i / rows];

    return output;

}

測試


int[][] input = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}, {16, 17, 18}, {19, 20, 21}};

System.out.println(Arrays.deepToString(rearrange(input)));

輸出


[[1, 4, 7], [10, 13, 16], [19, 2, 5], [8, 11, 14], [17, 20, 3], [6, 9, 12], [15, 18, 21]]



查看完整回答
反對 回復 2021-10-27
?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

或者像這樣:


    for (int j = 0, p = 0; j < 7; j++) {

        for (int i = 0; i < 3; i++, p++) {

            newMatrix[j][i] = oldMatrix[p % 7][p / 7];

        }

    }


查看完整回答
反對 回復 2021-10-27
  • 2 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號