多维数组真可怕!!
手头一个项目刚好碰到这个情况
这个项目需要用到一个函数
输入半径,以某个基准点为圆心,得到圆形轨迹和碰撞检测矩形相交区域内的路径点的个数(这个圆其实是用查表的方式画的若干个点,这些点我这里姑且称做路径点),如果路径点的个数符合要求,则存储这个基准点,最后返回全部符合要求的基准点。
因为对路径点的个数有特定的要求,而且我苦思冥想了几个小时也没有发现一个简单且精确的判定方式,所以只好在一个范围内((12 + r) * (20 + r)左右)来遍历每个坐标点
int totalPoint = (12 + r) * (20 + r);//所有的点
最初我用于储存基准点的数组为int[][] validPos = new int[totalPoint][2]
validPos[index][0] = x;
validPos[index++][1] = y;
The Radious is 3
ValidPointerNum::10
MemoryUsed::14044
The Radious is 4
ValidPointerNum::25
MemoryUsed::17040
The Radious is 5
ValidPointerNum::34
MemoryUsed::20092
The Radious is 6
ValidPointerNum::59
MemoryUsed::23816
感觉占用内存有点大,然后该成byte[][] validPos = new byte[totalPoint][2]
::::byte::::
The Radious is 3
ValidPointerNum::10
MemoryUsed::12132
The Radious is 4
ValidPointerNum::25
MemoryUsed::14700
The Radious is 5
ValidPointerNum::34
MemoryUsed::17316
The Radious is 6
ValidPointerNum::59
MemoryUsed::20508
比较了一下,好象没有减少多少~~这时突然想起了int[50][2]和int[2][50]的那个帖子
于是就修改为
int[] validPos = new int[totalPoint << 1]
validPos[index] = x;
validPos[index + 1] = y;
index += 2;
这时候打印出来结果:
The Radious is 3
ValidPointerNum::20
MemoryUsed::4444
The Radious is 4
ValidPointerNum::50
MemoryUsed::5300
The Radious is 5
ValidPointerNum::68
MemoryUsed::6172
The Radious is 6
ValidPointerNum::118
MemoryUsed::7236
几乎减小了2/3
可怕~~~
相关推荐
Python的多维空数组赋值方法
下面小编就为大家分享一篇Python的多维空数组赋值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
python多维数组切片方法
1、数组a第0个元素(二维数组)下的所有子元素(一维数组)的第一列 import numpy as np b=np.arange(24) a=b.reshape(2,3,4) print a print a[0,:,0] 2、取所有二维数组下的每个二维数组的第0个元素(一维数组) b=np.arange(24) a=b.reshape(2,3,4) print a print '--------------------' print a[:,0] 结果: [[ 0 1 2 3] [12 13 14 15]] 3、取所有二维数组下面的所有一维数组的每一个一维数组的第0个元素 b=np.
python numpy 一维数组转变为多维数组的实例
如下所示: import numpy new_list = [i for i in range(9)] numpy.array(new_list).reshape(3,3) 借助numpy库; 以上这篇python numpy 一维数组转变为多维数组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python二维列表一维列表的互相转换实例Python的numpy库中将矩阵转换为列表等函数的方法python的dataframe转换为多维矩阵的方法Python嵌套列表转一维的方法(压
java多维数组
详解java多维数组,提高对java多维数组的理解
多维数组下标计算 多维数组下标计算 多维数组下标计算
多维数组下标计算多维数组下标计算多维数组下标计算多维数组下标计算多维数组下标计算多维数组下标计算


J2ME
