当前位置:  开发笔记 > 编程语言 > 正文

如何有效地转置2D位矩阵

如何解决《如何有效地转置2D位矩阵》经验,为你挑选了0个好方法。

我一直在为这个问题绊绊(例如在这个问题中)。以原始整数类型数组(例如的数组)的形式给定2D位矩阵/板/数组long。为简单起见,我们可以假设一个方阵,例如,long在具有64位的平台上,由64个值组成的数组long

让我们x[i]0 <= i < 64是输入数组。计算数组y[i]0 <= i <= 64使:

(x[i] >> j) & 1 == (y[j] >> i) & 1

x >> ixby i位的按位右移,&是和,x[i]iarray 中第th个位置的值x

如何实现最有效地将数组映射x到数组的功能y

我主要是在寻找非破坏性的方法,这些方法会使输入数组x保持完整。

实施语言

使用的编程语言应具有整数类型的数组和按位运算。许多语言都满足这些要求。C / C ++和Java解决方案看起来非常相似,所以让我们选择这些语言。

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有