版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Blog2015/article/details/50877250
周五在上班的时候,遇到一个问题。如下:(实际是想把三维数组转存到一维数组中的简化)
到这里,你可能感觉不屑,,好像很简单。 好吧,那你先试试看,无果,再往下浏览。
。
。
。
后来,我想,其实再定义一个变量就行了啊。 但显然是菜鸟式的、傻瓜式的解法。如下:
对此不多说。
我感觉是有公式,直接用ijk完全能表示出来。
纯粹的数学问题啊。
于是,问了同学、同事,以及各种技术讨论QQ群。都不会。
后来,段瘦同学,发来了她的解法。验证后,完美无误。如下:
更多维的一样,比如四维的, 如下:
剩下的琢磨下原理,自行脑补。
啊,有了这个公式就牛逼了啊。
将上述序号作为数组索引,就可以 将三维数组转为一维数组了,如下:
一维数组转成多维 差不多一样,写反就行了,如下:
好了,多维转一维、一维转多维都可以了。
有时间再琢磨琢磨 多维转多维。
共勉!
凹,对了,本文用Lua写的,只是方便起见。 算法和语言无关。