当前位置: 首页 > news >正文

手提电脑做网站服务器京津冀协同发展规划图

手提电脑做网站服务器,京津冀协同发展规划图,wordpress小清新主题图片,学校专业建设规划14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀#xff0c;返回空字符串 “”。 示例 1#xff1a; 输入#xff1a;strs [“flower”,“flow”,“flight”] 输出#xff1a;“fl” 示例 2#xff1a; 输入#xff1a;strs [“d… 14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀返回空字符串 “”。 示例 1 输入strs [“flower”,“flow”,“flight”] 输出“fl” 示例 2 输入strs [“dog”,“racecar”,“car”] 输出“” 解释输入不存在公共前缀。 提示 1 strs.length 200 0 strs[i].length 200 strs[i] 仅由小写英文字母组成 最容易想到的思路就是先默认第一个字符串为结果 res然后遍历剩下的字符串不断根据 res 以及 str 的比较得到新的 res这样就相当于比较了所有字符串最终 res 就是公共前缀 public String longestCommonPrefix(String[] strs) {if(strs.length 0)return ;String res strs[0];for(int i 1; i strs.length; i){res getPre(res, strs[i]);if(.equals(res))break;}return res;}public String getPre(String s1, String s2){int min Math.min(s1.length(), s2.length());int i 0;while(i min s1.charAt(i) s2.charAt(i)){i;}return s1.substring(0, i);}既然有横向的那么纵向的也比较容易想到取任意一个字符串为例从第一位开始比较所有字符串某一位是否等于该字符的这一位需要注意的是不仅当遇到不同字符时需要返回当某个字符串已经被比较完也应该返回 public String longestCommonPrefix(String[] strs) {if(strs.length 0)return ;for(int i 0; i strs[0].length(); i){char c strs[0].charAt(i);for(int j 1; j strs.length; j){if(i strs[j].length() || strs[j].charAt(i) ! c){return strs[0].substring(0, i);}}}// 理论上来说返回什么都可以因为上面的情况已经包含了比较完的情况// 但是 strs 只有一个字符串时就不会进入比较// 所以需要返回 strs[0]return strs[0];}分治由于不管怎么样最终每个字符都会被比较比如第一种解法就是不断更新两个字符串比较后的结果那么其实分治也可以不过同时比较两组字符串而已 public String longestCommonPrefix(String[] strs) {if(strs.length 0)return ;return longestCommonPrefix(strs, 0, strs.length - 1);}// 分治public String longestCommonPrefix(String[] strs, int start, int end) {if(start end)return strs[start];int mid start (end - start) / 2;String left longestCommonPrefix(strs, start, mid);String right longestCommonPrefix(strs, mid 1, end);return commonPrefix(left, right);}// 获取两个字符串的公共前缀public String commonPrefix(String lcpLeft, String lcpRight) {int minLength Math.min(lcpLeft.length(), lcpRight.length()); for (int i 0; i minLength; i) {if (lcpLeft.charAt(i) ! lcpRight.charAt(i)) {return lcpLeft.substring(0, i);}}return lcpLeft.substring(0, minLength);}二分法由于最终公共前缀的长度不会大于最短字符串长度 min 那么可以在解法 2 的基础上使用二分法从 left 0 right min 开始得到最终公共前缀的长度 public String longestCommonPrefix(String[] strs) {if(strs.length 0)return ;int min Integer.MAX_VALUE;for (String str : strs) {min Math.min(min, str.length());}int left 0, right min;while(left right){int mid left (right - left 1) / 2;if(isCommonPrefix(strs, mid))left mid;else right mid - 1;}return strs[0].substring(0, left);}// 判断 length 是否为公共前缀public boolean isCommonPrefix(String[] strs, int length) { for (int i 0; i length; i) {char c strs[0].charAt(i);for(int j 1; j strs.length; j){if(strs[j].charAt(i) ! c)return false;}}return true;}
http://www.w-s-a.com/news/677922/

相关文章:

  • 宁波有没有开发网站的公司网站上线除了备案还需要什么
  • 网站备案授权wordpress默认主体设置
  • 厦门微信网站广州推广策划公司
  • 集团公司网站开发asp网站怎么运行
  • 广州短视频网站开发东莞市建设信息网
  • 建设网站如果赚钱电脑可以做服务器部署网站吗
  • 网站建设的编程专门做面包和蛋糕的网站
  • 档案网站建设比较分析南京建站公司
  • 哪个网站可以做店招傻瓜式wordpress
  • 网站开发项目经理职责青岛模版网站建设
  • 企业建站哪个好网站建设所用程序
  • 网站建设seo视频定制图片软件
  • 404错误直接转向到网站首页四川省建筑施工企业人员考试平台
  • 手表电商网站智能展厅
  • 南海网站推广梅州做网站公司
  • 昆明专业网站建设公司成都外贸网站建设费用
  • php mysql网站开发项目公司网站宣传设计
  • 自己做网站服务器的备案方法怎么查网站点击量
  • 信息产业部icp备案中心网站织梦做双语网站
  • 爱站网站长seo综合查询工具局网站信息内容建设 自查报告
  • 我想建一个网站怎么建淄博网站推广那家好
  • 做网站和app需要多久河南自助建站建设代理
  • 大连做企业网站的公司宣传平台有哪些类型
  • 如何用微信做网站免费设计logo网站有哪些
  • 服务平台型网站余姚网站定制
  • 网站搭建联系方式太平阳电脑网网站模板
  • 请简述网站制作流程html5网络公司网站模板
  • 海尔集团企业网站建设分析重庆市建设银行网站
  • 介绍公司的网站有哪些广西壮族自治区
  • 网站做rss wordpress9 1短视频安装软件