我来这个问题是因为我试图解决类似的问题。出于性能原因,我想将具有 1600 个元素的图形硬编码到二维整数数组中。我在一个 leetcode 风格的网站上解决了一个问题,从文件中加载图形数据不是一种选择。整个图表超过了 64K 的最大值,所以我无法进行一次静态分配。我将分配分配给几个静态方法,每个方法都低于限制,然后一个一个地调用每个方法。
private static int[][] G = new int[1601][];
static {
assignFirst250();
assignSecond250();
assignSecond500();
assignThird500();
}
private static void assignFirst250() {
G[1] = new int[]{3,8,15,24,35,48,63,80,99,120,143,168,195,224,255,288,323,360,399,440,483,528,575,624,675,728,783,840,899,960,1023,1088,1155,1224,1295,1368,1443,1520,1599};
G[2] = new int[]{2,7,14,23,34,47,62,79,98,119,142,167,194,223,254,287,322,359,398,439,482,527,574,623,674,727,782,839,898,959,1022,1087,1154,1223,1294,1367,1442,1519,1598};