输入n,求一个n×n矩阵,规定矩阵沿45度递增,形成zigzag数组
2012-08-25 00:00
274 查看
输入n,求一个n×n矩阵,规定矩阵沿45度递增,形成zigzag数组
2010-08-25 9:19
2010-08-25 9:19
输入n,求一个n*n矩阵,规定矩阵沿45度线递增(威盛) /** * 得到如下样式的二维数组 * zigzag(jpeg编码里取象素数据的排列顺序) * * 0, 1, 5, 6,14,15,27,28, * 2, 4, 7,13,16,26,29,42, * 3, 8,12,17,25,30,41,43, * 9,11,18,24,31,40,44,53, * 10,19,23,32,39,45,52,54, * 20,22,33,38,46,51,55,60, * 21,34,37,47,50,56,59,61, * 35,36,48,49,57,58,62,63 */ 这个题目是在《程序员面试宝典》上看到的,但是书中只贴出了代码。懒得看别人的代码,自己网上搜了下,居然发现没有人讲思考的思路的,所以自己就思考了一下。 我的算法的主要思路是: 1.递增的方向只有2个:左下,右上。 如果之前是按左下递增,那么之后是按右上递增,再按左下方递增 2.同一个斜线上数据的规律是:下标(i+j)的和都一样。 以下是我的代码:
|
相关文章推荐
- 对面试题“输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组(JPEG编码里取像素数据的排列顺序),请问如何用C++实现?”的理解
- zigzag数组,输入n,求一个n x n矩阵,规定矩阵沿45度线递增,形成一个zigzag数组
- 面试例题:输入n,求一个n x n矩阵,规定矩阵沿45度递增,形成一个zigzag数组(JPEG编码里取像素数据的排列顺序),请问如何用C++实现? (中国台湾著名硬件公司2007年11月面试题)
- zigzag数组:输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组
- zigzag数组:输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组
- 用c++实现一个n*n矩阵,矩阵沿着45度递增,形成zigzag数组
- 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都按照从左到右的递增的顺序排序,输入这样的一个数组和一个数,判断数组中是否包含这个数
- 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数
- 输入n求N*N矩阵,规定矩阵沿45度线递增
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 二维数组中的查找-在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 输入一个递增排序的数组和一个数字sum,在数组中查找两个数,使得他们的和正好是sum
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数