首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

问一个关于二维数组排列总数的有关问题

2013-09-15 
问一个关于二维数组排列总数的问题一个面试题是这样的:int data[3][3] { 0, 1, 2,3, 4, 5,6, 7, 8 }只

问一个关于二维数组排列总数的问题
一个面试题是这样的:


int data[3][3] = { 0, 1, 2,
                   3, 4, 5, 
                   6, 7, 8 };

只能移动0左右和上下的位置,构成一个新的二维数组;



问这样的排列有几种?


我对这种题目最是感冒了!这种题目到底要如何去想?
[解决办法]
9!/2
对1~8这8个数字的排列定义一个逆序数R = 大数字排在小数字之前的数对个数
当0左右移动时, R不变; 0上下移动时, R±2.
因此, 所有可能的排列被分成R为奇数和R为偶数两种, 从一类排列不会移动出另一类排列

热点排行