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

做冻品海鲜比较大的网站有哪些电商系统服务口碑好

做冻品海鲜比较大的网站有哪些,电商系统服务口碑好,网络营销推广工作内容,青州网站设计leetcode 131. 分割回文串 题目 给你一个字符串 s#xff0c;请你将 s 分割成一些子串#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1#xff1a; 输入#xff1a;s “aab” 输出#xff1a;[[“…leetcode 131. 分割回文串 题目 给你一个字符串 s请你将 s 分割成一些子串使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1 输入s “aab” 输出[[“a”,“a”,“b”],[“aa”,“b”]] 示例 2 输入s “a” 输出[[“a”]] 提示 1 s.length 16 s 仅由小写英文字母组成 思路 这题说实话一开始合计的是一个个加进来然后当前最后一个字符串加上新的字符是回文串就继续dfs然后不管最后一个字符串加上新的字符是不是回文串这里都要断开。这样就能保证所有情况的覆盖因此有了第一版代码。但这WA了。。。因为没考虑所谓回文串aba是回文串新的字符是c可能不是回文串但再往后加可能是abacaba这又是回文串了。所以我们得考虑这种情况。于是有了第二版AC了。看了剪枝操作有了第三版不用每次都判断回文串了而是用一个数组存储各种情况在本题中最长就16字符所以效果不明显之后这种空间换时间的思路还是要记得的。 题解 // 第一版 class Solution {ListListString list new ArrayList();ListString subList new ArrayList();boolean st[];public ListListString partition(String s) {st new boolean[s.length()];dfs(s, 0);return list;}public boolean isOk(String item, char i) {if (item.charAt(0) ! i) {return false;}int st 1, ed item.length() - 1;while (st ed) {if (item.charAt(st) ! item.charAt(ed)) {return false;}st;ed--;}return true;}public boolean gap(int idx) {for (int iidx-1;i-1;i--) {if (st[i] false) {return true;}}return false;}public void dfs(String s, int idx) {if (idx s.length()) {list.add(new ArrayList(subList));return;}for (int iidx;is.length();i) {if (gap(i)) {return;}if (subList.isEmpty()){subList.add(String.valueOf(s.charAt(i)));st[i] true;dfs(s, i 1);subList.remove(0);st[i] false;}else if (isOk(subList.get(subList.size() - 1), s.charAt(i))) {String tmp subList.get(subList.size() - 1);subList.remove(subList.size() - 1);subList.add(tmp String.valueOf(s.charAt(i)));st[i] true;dfs(s, i 1);subList.remove(subList.size() - 1);subList.add(tmp);st[i] false;}if (! subList.isEmpty()) {subList.add(String.valueOf(s.charAt(i)));st[i] true;dfs(s, i 1);subList.remove(subList.size() - 1);st[i] false;}}} } // 第二版 class Solution {ListListString list new ArrayList();ListString subList new ArrayList();public ListListString partition(String s) {dfs(s, 0);return list;}public boolean isOk(String item) {int st 0, ed item.length() - 1;while (st ed) {if (item.charAt(st) ! item.charAt(ed)) {return false;}st;ed--;}return true;}public void dfs(String s, int idx) {if (idx s.length()) {list.add(new ArrayList(subList));return;}for (int iidx;is.length();i) {String str s.substring(idx, i 1);if (isOk(str)) {subList.add(str);dfs(s, i 1);subList.remove(subList.size() - 1);}else {continue;}}} } // 第三版 class Solution {ListListString list new ArrayList();ListString subList new ArrayList();// 空间换时间boolean[][] isPartition;public ListListString partition(String s) {isPartition new boolean[s.length()][s.length()];isOk(s);dfs(s, 0);return list;}public void isOk(String item) {for (int i0;iitem.length();i) {for (int ji;jitem.length();j) {int st i, ed j;while (st ed) {if (item.charAt(st) ! item.charAt(ed)) {break;}st;ed--;}if (st ed) {isPartition[i][j] true;}}} }public void dfs(String s, int idx) {if (idx s.length()) {list.add(new ArrayList(subList));return;}for (int iidx;is.length();i) {// 基于当前subList已有的回文串以及当前idx开始往后i - idx位只要有回文串就放里if (isPartition[idx][i]) {String str s.substring(idx, i 1);subList.add(str);dfs(s, i 1);subList.remove(subList.size() - 1);}else {continue;}}} }
http://www.pierceye.com/news/803571/

相关文章:

  • 高端网站公司书画工作室网站模板网站建设
  • 招标网站免费平台永州做网站公司
  • 企业网站建设 cmsphp网站建设方案
  • 自适应网站建设沈阳潍坊制作网站的公司
  • lamp网站开发黄金组合下载宣传页模板
  • 精通网站建设100全能建站密码摄影学习网站
  • 重庆如何软件网站推广陕西省诚信建设示范网这个网站
  • 怎样做关键词网站wordpress建站购买
  • app开发模板网站老网站备案密码错误
  • 北京展示型网站建设价格seosem是指什么意思
  • 网站开发费用构成论坛静态网站源码
  • 百度怎么把自己网站展现在百度森动网网站建设好吗
  • 城市生活网官方网站app成都设计院
  • 移动网站开发实训报告清远企业网站建设
  • 手机版网站如何做陕西城乡建设网站
  • 大连网站建设事件营销的特点
  • 做语音聊天网站要多少钱app界面设计模板素材免费
  • 设计网站专题页包括那些项目个人做网站要买什么域名
  • 建网站 方法中信建设有限责任公司获奖
  • 做宠物商品的网站无锡自适应网站开发
  • 网站后台怎样登陆做网站数据库及相关配置
  • 昆明seo网站排名网站代码 输入文字 跳出内容
  • 济南建站公司网站广州市网站设计
  • 网站模板做的比较好的公司网站制作汇报会
  • 个人网站图片海外网站备案
  • 兰州手机网站制作公司哪家好网店分销平台
  • 百度建立自己的网站网络工程师培训课程
  • 微网站的制作过程海南注册公司怎么注册
  • 公司网站制作投标建站行业都扁平化设计
  • 男女做a视频网站wordpress询价功能