摘要:
本题的最经典思路是使用滑动窗口或者动态规划。 例如滑动窗口,建立起始指针和结尾指针。可以保证结尾指针一定是在起始指针右边的。那么只要每次移动结尾指针至有重复字符,然后再移动起始指针。如此重复至遍历完字符串即可。查找窗口里是否存在子串则使用建立哈希表的方法将时间复杂度降为O(1)。 这样子总的时间复杂 阅读全文
摘要:
这题要求顺时针旋转二维数组九十度,那也就是把二维数组转置后再横向对称一次。 我的实现代码如下 class Solution { public: void rotate(vector<vector<int>>& matrix) { int len=matrix.size(); for(int i=0; 阅读全文
摘要:
这题的重点在于如何用更短的时间代价去判断某个数组是否存在重复元素。 之前的题目,对于这种问题,最典型的要么就是排序,要么就是哈希。某些情况也可以用位运算去判重。这题我暂时没去看位运算相关的解法。 排序后再查重的时间效率一般,暂且不考虑。而这个数独无非是九×九的二维数组,即使使用额外的空间,也不必太纠 阅读全文