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

龙华网站 建设深圳信科想开发一个网站需要怎样做

龙华网站 建设深圳信科,想开发一个网站需要怎样做,如何做网站设计,中国企业500强中国铁建有效括号#xff08;Valid-Parentheses#xff09;题干如下#xff1a;给定一个只包括 ‘(‘#xff0c;’)’#xff0c;’{‘#xff0c;’}’#xff0c;’[‘#xff0c;’]’ 的字符串#xff0c;判断字符串是否有效。有效字符串需满足#xff1a;1.左括号必须用…有效括号Valid-Parentheses题干如下给定一个只包括 ‘(‘’)’’{‘’}’’[‘’]’ 的字符串判断字符串是否有效。有效字符串需满足 1.左括号必须用相同类型的右括号闭合。 2.左括号必须以正确的顺序闭合。 3.注意空字符串可被认为是有效字符串。示例 1: 输入: “()” 输出: true示例 2: 输入: “()[]{}” 输出: true示例 3: 输入: “(]” 输出: false示例 4: 输入: “([)]” 输出: false示例 5: 输入: “{[]}” 输出: true来源力扣解题思路这题是我大学老师教 栈 这种数据结构的应用场景时讲解的题目稍微有一丢丢怀念。解题思路很简单从左到右遍历字符串遇到 左括号: [ ( { ** 就压入栈中遇到 **右括号: ] ) } 就拿 栈顶元素 与 当前元素 匹配是否是一对括号。是则继续遍历不是则直接返回 false。注 1. 栈 是一种很常见的数据结构特点是先进后出 2. 栈顶元素 每次比较之后都要从栈中移除即 pop 操作 3. 为什么是遇到 左括号 将其压入栈中呢假设我们将 右括号 压入栈中由于我们是从左往右遍历的当遇到 左括号 时假设我们取出栈顶元素 右括号 进行比较这时候有一个问题当前比较的 左括号 的位置其实是在 右括号 之后的即类似 ][。聪明的小伙伴一定猜到了当我们从右向左遍历时压入栈的就是 右括号 啦。流程图如下代码实现由于需要基于 栈 这种数据结构来解题我简单用 go 实现了一个栈type Stack struct {stack []byte // 存放字节length int // 内部维护的长度 }// 压栈 func (s *Stack) push(b byte) {s.stack append(s.stack,b)s.length }// 出栈 func (s *Stack) pop() (res byte) {if s.length 0 {return}s.length --res s.stack[s.length]s.stack s.stack[0:s.length]return }// 判断栈是否为空 func (s *Stack) isEmpty() bool {return s.length 0 }// 构造 func getStack() *Stack {return Stack{} }下面的代码实现基于上面的数据结构func isValid(s string) bool {if len(s) 0 {return true}// 实例化栈stack : getStack()for i : 0; i len(s); i {// 判断是左括号就压入栈if s[i] ( || s[i] [ || s[i] { {stack.push(s[i])} else {// 如果栈为空这时候 i 没有越界则返回 falseif stack.isEmpty() {return false}// 获取栈顶元素top : stack.pop()// 比较是否匹配if ( top s[i] ! ) || [ top s[i] !] || { top s[i] !}{return false}}}// 如果 i 越界并且 栈 为空则返回 trueif stack.isEmpty() {return true}return false }扩展思路在用 栈 解题的过程中会发现 如果字符串是有效括号那么一定存在一对相邻的括号并且第一个匹配的右括号左边的元素一定是相对应的左括号。基于上面的认知我们将这对相邻的括号替换成空字符串剩下的字符串如果是有效字符串仍会存在一对相邻的括号同理再替换依次循环。如果不存在一对相邻的括号并且最后剩下的字符串为空了那么原始字符串就是有效括号否则不是。流程图如下具体的代码实现如下 只是提供一种思路这种实现方式时间复杂度有点高 func isValidOther(s string) bool {// 判断是否有一对相邻的括号for strings.Index(s,()) ! -1 || strings.Index(s,[]) ! -1 || strings.Index(s,{}) ! -1 {// 存在则替换成 空字符串 继续下次判断s strings.Replace(s,(),,-1)s strings.Replace(s,[],,-1)s strings.Replace(s,{},,-1)}// 如果不存在一对相邻的括号并且剩余的字符串长度不为0则返回 falseif len(s) 1 {return false}return true }总结每天进步一点点加油
http://www.pierceye.com/news/763914/

相关文章:

  • html网站欣赏杭州战争网站建设
  • 乐清市做淘宝网站公司网站支付体现功能怎么做
  • 做网站公司促销海报本网站只做信息展示
  • 网站建设商城模板仿我喜欢网站源码免费
  • 工商服务网优化网站推广
  • 嘉兴网站系统总部做一个网站一般要多少钱
  • win10电脑做网站网站为什么有价值是
  • 凡科网站建设视频impreza 4 wordpress
  • 北京大兴地区网站建设国外网站设计欣赏分析
  • 如何在网站中加入百度地图广东深圳软件开发公司
  • 诸城网站建设报价兰州网站建设公司有哪些
  • 技术网站的费用怎么做会计分录潍坊模板开发建站
  • 男生女生在床上做的那个网站公众号推广一个6元
  • 湛江做网站设计公司北京婚恋网站哪家最好
  • 大型网站建设的难点是什么物联网技术
  • 怎么免费建个免费的站点写作网站5妙不写就删除
  • 深圳网站建设软件开发公司排名网站做301的坏处
  • ai网站制作的图片
  • 自己想开个网站怎么弄移动端网站设计欣赏
  • 国外网站建站上海品牌策划设计
  • 郑州网站制作选择乐云seo网站建设误区图
  • 湖南智能网站建设多少钱会声会影免费模板网站
  • 社区网站建设方案书建站之星官方网站
  • 过时的网站什么公司做企业网站
  • 最新企业网站搜索引擎优化是做什么
  • 提高网站公信力 单仁手机设计培训网站建设
  • asp.net网站管理系统域名注册报备
  • 买了个网站后怎么做如何提高 网站的点击量
  • 哪些行业网站推广做的多o2o商城源码
  • 北京seo站内优化电商网站前端页面响应式设计