程序员面试金典——18.11最大子方阵

Solution1:我的答案。最笨的方法,时间复杂度是O(n3)O(n3)O(n^3)

class SubMatrix {
public:int maxSubMatrix(vector<vector<int> > mat, int n) { //穷举法??复杂度有点高欧~// write code hereint l = n;while(l) { //l是目前方形边长for(int i = 0; i + l - 1 < n ; i++) { // i 相当于 x1;for(int j = 0; j + l - 1 < n; j++) { //j相当于y1if(Judge_same_color(mat, i, j, j + l - 1)) {return l;break;}}}l--;if(l == 1)break;}return 1;}//判断矩形是否同色bool Judge_same_color(vector<vector<int> > &mat, int x1, int y1, int y2) {bool res = false;int length = y2 - y1; //length = 方形边长 - 1if(mat[x1][y1] == mat[x1][y2] == mat[x1 + length][y1] == mat[x1 + length][y2]) {for(int i = 1; i <= length; i++) {if(mat[x1][y1 + i] != mat[x1][y1] || mat[x1 + length][y1 + i] != mat[x1 + length][y1]|| mat[x1 + i][y1] != mat[x1][y1]|| mat[x1 + i][y2] != mat[x1][y2])return false;}return true;}return res;}
};

Solution2:
参考网址:
https://www.nowcoder.com/practice/008759ec032e44c6b615f7b6a5b752aa?tpId=8&tqId=11074&tPage=5&rp=4&ru=%2Fta%2Fcracking-the-coding-interview&qru=%2Fta%2Fcracking-the-coding-interview%2Fquestion-ranking
网站中,有几个答案也是我的方法(毕竟都很ben),但有个java代码提到了动态规划,看来更快的方法就是DP了。

【To Do】程序员面试金典——18.11最大子方阵相关推荐

  1. 程序员面试金典——18.13 最大字母矩阵

    程序员面试金典--18.13 最大字母矩阵 在牛客网上把此题的难度给大大降低了......... Solution1: 参考网址:https://www.nowcoder.com/questionTe ...

  2. 程序员面试金典——18.12最大和子矩阵

    程序员面试金典--18.12最大和子矩阵 Solution1: 参考网址: [1]https://www.cnblogs.com/GodA/p/5237061.html 思想讲的很清楚~ [2]htt ...

  3. 程序员面试金典——18.10字符串变换

    程序员面试金典--18.10字符串变换 Solution1: 我的答案.穷举法,个人认为此题还是有点难度的... 利用了倒推法以及很高的时间复杂度才解决,并不值得推崇呀. class Change { ...

  4. 程序员面试金典——18.9实时中位数

    程序员面试金典--18.9实时中位数 Solution1:我的答案.利用排序,比较弱智.. class Middle { public:vector<int> getMiddle(vect ...

  5. 程序员面试金典——18.7最长合成字符串

    程序员面试金典--18.7最长合成字符串 参考网址:https://www.nowcoder.com/profile/2896594/codeBookDetail?submissionId=13543 ...

  6. 【To Do!】程序员面试金典——18.8子串判断

    程序员面试金典--18.8子串判断 Solution1:我的答案 利用了C++ STL中自带的find函数,有点投机取巧的意思,正统方法是用trie树(单词查找树)来做,那就麻烦了许多 class S ...

  7. 程序员面试金典——18.4 2的个数

    程序员面试金典--18.4 2的个数 Solution1:经典通法,得牢记啊... 此题在<剑指offer>中出现过,里面分析的比较到位 https://blog.csdn.net/all ...

  8. 程序员面试金典——18.5单词最近的距离

    程序员面试金典--18.5单词最近的距离 Solution1:我的答案,时间复杂度为O(n2)O(n2)O(n^2). class Distance { public:int getDistance( ...

  9. 程序员面试金典——18.1另类加法

    程序员面试金典--18.1另类加法 Solution1:还是参考剑指上的思路.. class UnusualAdd {public:int addAB(int A, int B) {// write ...

最新文章

  1. 12月第1周全球五大顶级域名总量呈负增长 减2.5万个
  2. Linux下修改Mysql数据库存放路径
  3. 安装kafka过程及出现的问题解决
  4. 员外带你读论文:SeqGAN论文分享
  5. android listview 横向滚动,Android支持水平滚动的ListView控件
  6. Lost Array(CF-1043B)
  7. Apache 首位华人董事吴晟谈开源:我对中国开源短期内是消极的
  8. web 请求 编码 引发的问题
  9. 背景图片铺不满全屏时处理
  10. 小心那些年末还在努力的狠人!
  11. 构建工具Bazel入门
  12. Windows如何设置夜间模式(护眼模式)超简单
  13. Opencv3.2各个模块功能详细简介(包括与Opencv2.4的区别)
  14. 像冯满天老师一样热爱一样东西
  15. 学校创客教育实施方案
  16. android照片如何查看时间,【技巧】如何查看图片的拍摄地点和日期时间等信息...
  17. server数据库标记为可疑 sql_SQL Server 2008数据库被标记为可疑的解决方法
  18. elasticsearch使用问题记录(一) 底层修改同义词典synonyms.txt未生效
  19. 计算机 网络安全 研究生专业大学排名,网络空间安全专业考研学校排名
  20. Linux轻量型Web服务器框架,以及一个轻量型的http服务器打造

热门文章

  1. MS-SQL中取年-月
  2. HTML知识积累及实践(三) - 列表标签
  3. 数据结构笔记(三十一)--折半查找
  4. 《游戏之旅-我的编程感悟》读书笔记
  5. python程序写诗_pytorch下使用LSTM神经网络写诗实例
  6. ant vue 树形菜单横向显示_丝滑般 Vue 拖拽排序树形表格组件Vue-DragTreeTable
  7. mysql监听串口_tcp与串口透传(select)
  8. springboot 监听所有异常_SpringBoot 全局异常配置及返回自定义页面
  9. python怎么在运行中查看执行状态_python,_python程序运行时 查看对象状态,python - phpStudy...
  10. 计算机网络作业第六章,计算机网络与通信第6章习题.doc