标签为 [矩阵] 的文章

算法初级——有序矩阵查找

在行列都排好序的矩阵中找数 【题目】 给定一个有N*M的整型矩阵matrix和一个整数K,matrix的每一行和每一 列都是排好序的。实现一个函数,判断K是否在matrix中。 例如: 0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9 如果K为7,返回true;如果K为6,返回false。 【要求】 时间复杂度为O(N+M),额外空间复杂度为O(1)。 /* * 在行列都排好序的矩阵中找数 * 【题目】 给定一个有N*M的整型矩阵matrix和一个整数K,matrix的每一行和每一 列都是排好序的。实现一个函数,判断K是否在matrix中。 * 例如: 0 1 2 5 ......

算法初级——“之”字形打印矩阵

“之”字形打印矩阵 【题目】 给定一个矩阵matrix,按照“之”字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 “之”字形打印的结果为:1,2,5,9,6,3,4,7,10,11,8,12 【要求】 额外空间复杂度为O(1)。 /*给定一个矩阵matrix,按照“之”字形的方式打印这个矩阵,例如: * 1 2 3 4 * 5 6 7 8 * 9 10 11 12 * “之”字形打印的结果为:1,2,5,9,6,3,4,7,10,11,8,12 * 上方一个坐标(ar,ac),先向右移动,移动到最右端则向下移动 * 左面一个坐标(br,bc),先向下移动,移动 ......

算法初级——旋转正方形矩阵

旋转正方形矩阵 【题目】 给定一个整型正方形矩阵matrix,请把该矩阵调整成顺时针旋转90度的样子。 【要求】 额外空间复杂度为O(1)。 /* * 顺时针旋转正方形矩阵90° * 分圈旋转,每次完成一圈,重点在于边界抠清楚 */ 12345678910111213141516171819202122232425262728293031323334353637383940414243444546public class 旋转正方形矩阵 {         public static void rotate(int[][] matrix) {         int a = 0;         int b = 0;       &nb ......

算法初级——转圈打印矩阵

* 【题目】 给定一个整型矩阵matrix,请按照转圈的方式打印它。 * 例如: 1 2 3 4 * 5 6 7 8 * 9 10 11 12 * 13 14 15 16 * 打印结果为:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11, 10 * 【要求】 额外空间复杂度为O(1)。 /* * 转圈打印主要就是扣边界,思想很简单,给出每一圈的左上角和右下角坐标,进行一圈的打印, * 然后左上角和右下角同时向对角线内靠拢,同时需要考虑一行和一列的情况 */ 123456789101112131415161718192021222324252627282930313233343536373839 ......