摘要: 题意: 有一个矩阵,每行有序,每列也有序。判断一个数target是否存在于此矩阵中。思路: 从右上角开始,如果当前数字target,该列作废。这样下去要么找到,要么到达边界退出。 1 class Solution { 2 public: 3 bool searchMatrix(vecto... 阅读全文
posted @ 2015-11-04 21:21 xcw0754 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题意: 有一个矩阵,每行都有序,每行接在上一行尾后仍然有序。在此矩阵中查找是否存在某个数target。思路: 这相当于用一个指针连续扫二维数组一样,一直p++就能到最后一个元素了。由于用vector装的,但是也是满足线性的。 二分:O(log n*m) 1 class Solution { 2... 阅读全文
posted @ 2015-11-04 21:17 xcw0754 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题意: 将一个n*n的矩阵顺时针旋转90度。思路: 都是差不多的思路,交换3次也行,反转再交换也是行的。 1 class Solution { 2 public: 3 void rotate(vector>& matrix) { 4 int i=0, n=matrix.s... 阅读全文
posted @ 2015-11-04 20:28 xcw0754 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题意: 寻找一棵BST中的第k小的数。思路: 递归比较方便。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * ... 阅读全文
posted @ 2015-11-04 20:06 xcw0754 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题意: 从1开始产生连续的n2个数字,以螺旋的方式填满一个n*n的数组。思路: 由于是填满一个矩阵,那么只需要每次都填一圈即可。应该注意特殊情况。 迭代: 1 class Solution { 2 public: 3 vector > generateMatrix(int n) 4... 阅读全文
posted @ 2015-11-04 19:40 xcw0754 阅读(130) 评论(0) 推荐(0) 编辑