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

盘州住房和城乡建设局网站网站建设安全标准

盘州住房和城乡建设局网站,网站建设安全标准,东莞网上申请营业执照流程,网站做app安全吗leetcode 150道题 计划花两个月时候刷完,今天(第四十四天)完成了2道(88-89)150: 88.(22. 括号生成) 题目描述: 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效…

leetcode 150道题 计划花两个月时候刷完,今天(第四十四天)完成了2道(88-89)150:

88.(22. 括号生成) 题目描述:

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

第一版(没通过,我想法是 ()的全排列然后找出来符合的并且去重。。超时了)

class Solution {List<String> res=new ArrayList();Set<String> set=new HashSet();public List<String> generateParenthesis(int n) {if(n<1){return res;}StringBuilder sb=new StringBuilder();for(int i=0;i<n;i++){sb.append("()");}boolean[] used=new boolean[n*2];generateCore(sb.toString(),new StringBuilder(),used);return res;}public void generateCore(String str,StringBuilder sb,boolean[] used){if(sb.length()==str.length()){ if(check(sb.toString())&&set.add(sb.toString())){res.add(sb.toString()); }return ;}for(int i=0;i<str.length();i++){if(used[i]){continue;}sb.append(str.charAt(i));used[i]=true;generateCore(str,sb,used);used[i]=false;sb.deleteCharAt(sb.length()-1);}}public boolean check(String str){Stack<Character> stack=new Stack();for(char ch:str.toCharArray()){if(ch=='('){stack.push(ch);}else{if(stack.isEmpty()){return false;}stack.pop();}}return stack.isEmpty();}
}

第二版(看了解题)

class Solution {List<String> res=new ArrayList();public List<String> generateParenthesis(int n) {if(n<1){return res;}generateCore(new StringBuilder(),n,n);return res;}public void generateCore(StringBuilder sb,int left,int right){//左边和右边剩余的括号数都等于 0 的时候结算。if(left==0&&right==0){ res.add(sb.toString());return ;}//产生左分支的时候,只看当前是否还有左括号可以使用;if(left>0){sb.append("(");generateCore(sb,left-1,right);sb.deleteCharAt(sb.length()-1);}//产生右分支的时候,还受到左分支的限制,//右边剩余可以使用的括号数量一定得在严格大于左边剩余的数量的时候if(right>0&&right>left){sb.append(")");generateCore(sb,left,right-1);sb.deleteCharAt(sb.length()-1);}}
}

89.(79. 单词搜索)题目描述:

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"
输出:true

第一版(没超时,但是效率垫底,还没来得及看解题。。)

class Solution {public boolean exist(char[][] board, String word) {for(int i=0;i<board.length;i++){for(int j=0;j<board[i].length;j++){if(board[i][j]==word.charAt(0)){boolean[][] used=new boolean[board.length][board[0].length];if(dfs(board,word,i,j,new StringBuilder(),used)){return true;}}}}return false;}public boolean dfs(char[][] board, String word,int mIndex,int nIndex,StringBuilder sb,boolean[][] used) {int m=board.length;int n=board[0].length;if(mIndex<0||mIndex>=m){return false;}if(nIndex<0||nIndex>=n){return false;}if(used[mIndex][nIndex]){return false;}sb.append(board[mIndex][nIndex]);used[mIndex][nIndex]=true;if(sb.length()>word.length()){sb.deleteCharAt(sb.length()-1);used[mIndex][nIndex]=false;return false;}else if(sb.length()==word.length()){if(word.equals(sb.toString())){sb.deleteCharAt(sb.length()-1);used[mIndex][nIndex]=false;return true;}else{sb.deleteCharAt(sb.length()-1);used[mIndex][nIndex]=false;return false;}}else{if(!word.substring(0,sb.length()).equals(sb.toString())){sb.deleteCharAt(sb.length()-1);used[mIndex][nIndex]=false;return false;}}boolean flag=dfs(board, word, mIndex + 1, nIndex, sb, used) ||dfs(board, word, mIndex - 1, nIndex, sb, used) ||dfs(board, word, mIndex, nIndex + 1, sb, used) ||dfs(board, word, mIndex, nIndex - 1, sb, used);if(!flag){sb.deleteCharAt(sb.length()-1);used[mIndex][nIndex]=false;}return flag;}
}

难啊!!!咋这么难这块。。。后面还有动态规划我咋办。。

加油吧,早日跳槽!!!

-----2024.01.18 看了一下 89.(79. 单词搜索)的解题,发现不需要用 String Builder 去记录遍历的过的字符合只需要每次去将当前遍历和要搜索的对比就行。改了一下效率立马就上去。。

第二版(看了解题)

class Solution {public boolean exist(char[][] board, String word) {boolean[][] used=new boolean[board.length][board[0].length];for(int i=0;i<board.length;i++){for(int j=0;j<board[i].length;j++){if(board[i][j]==word.charAt(0)){if(dfs(board,word,i,j,0,used)){return true;}}}}return false;}public boolean dfs(char[][] board, String word,int mIndex,int nIndex,int index,boolean[][] used) {if(index>=word.length()){return true;}int m=board.length;int n=board[0].length;if(mIndex<0||mIndex>=m){return false;}if(nIndex<0||nIndex>=n){return false;}if(used[mIndex][nIndex]){return false;}if(board[mIndex][nIndex]!=word.charAt(index)){return false;}used[mIndex][nIndex]=true;boolean flag=dfs(board, word, mIndex + 1, nIndex, index+1, used)||dfs(board, word, mIndex - 1, nIndex, index+1, used)||dfs(board, word, mIndex, nIndex + 1, index+1, used)||dfs(board, word, mIndex, nIndex - 1, index+1, used);if(flag){return flag;}used[mIndex][nIndex]=false;return flag;}
}

真的牛皮,今天太累了偷懒一天!!!

http://www.yayakq.cn/news/534664/

相关文章:

  • 电商数据分析网站十大免费剪辑软件下载
  • 网站开发进度安排文档wordpress 火车头 作者
  • 手机影视素材网站大全企业官网有哪些
  • 宁波找网站建设企业做网站需要团队还是一个人
  • 做网站的技术门槛高吗南海网官网
  • 建设网站如何索要素材怎么请专业拓客团队
  • 服务器租用网站模版wordpress菜单导航代码
  • 哈尔滨+做网站公司有哪些网站建设资料清单
  • 上海定制网站建设推广做网站怎样申请动态域名
  • 安徽湖滨建设集团网站wordpress搬家插件
  • 如何制作单页网站门户网站盈利模式
  • 凡科建站可以做几个网站做外贸一般用什么网站
  • 外贸网站如何做免费推广企业安全文化的建设方案
  • 深圳网站建设单位彭水网站建设
  • 做网站域名解析网站尾部设计
  • 艺麟盛世可以做网站推广吗如何在百度发布广告信息
  • 时事新闻最新消息百度关键词优化工具是什么
  • 小程序开发商有哪些河南网站优化外包服务
  • 网站推广公司招聘短网址生成原理
  • 昌乐网站设计加速器怎么加速网页
  • 瑞安微网站建设社保网站是每月1-6号都是在建设中的吗
  • 建站服务论坛wordpress 表格小工具
  • 广安网站建设服务网站建设几大技巧
  • 数码产品网站模板做网站的公司主要是干啥
  • 网站建设有哪些关键细节手机网站什么技术开发
  • 广州高端企业网站建设湛江seo推广公司
  • 怎样做企业网站又拍云存储WordPress
  • 宁波网站开发定制用户体验地图用什么软件画
  • 域名注册好了怎么了做网站做网站赚钱
  • 比较漂亮的营销型网站企业管理培训课程简介