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

cod单页建站工具网络营销有什么

cod单页建站工具,网络营销有什么,做营销看的网站有哪些,做食物网站20. 有效的括号 这个是典型的使用栈,来进行匹配。 因为栈是先进后出,所以,最近的左括号一定在栈顶。如果不是,则就是不匹配了。 func isValid(s string) bool {stack : Stack{}dict : map[byte]byte {): (,]: [,}: {,}for _, it…

20. 有效的括号

这个是典型的使用栈,来进行匹配。
因为栈是先进后出,所以,最近的左括号一定在栈顶。如果不是,则就是不匹配了。

func isValid(s string) bool {stack := Stack{}dict := map[byte]byte {')': '(',']': '[','}': '{',}for _, item := range []byte(s) {if leftVal, ok := dict[item]; ok {if stack.pop() != leftVal {return false}} else {stack.push(item)}}return stack.length == 0
}type Stack struct {data []bytelength int
}func (s *Stack) pop() (v byte) {if s.length < 1 {return }v = s.data[s.length-1]s.data = s.data[:s.length-1]s.length--return 
}func (s *Stack) push(v byte) {s.data = append(s.data, v)s.length++
} 

1047. 删除字符串中的所有相邻重复项

func removeDuplicates(s string) string {// 思路:和栈顶不等的时候,s2 := []byte(s)stack := Stack{}stack.push(s2[0])for i := 1; i < len(s2); i++ {if v := stack.top(); v != s2[i] {stack.push(s2[i])} else {stack.pop()}}return string(stack.data)
}type Stack struct {data []bytelength int
}func (s *Stack) pop() (v byte) {if s.length < 1 {return }v = s.data[s.length-1]s.data = s.data[:s.length-1]s.length--return 
}func (s *Stack) top() (v byte) {if s.length < 1 {return }v = s.data[s.length-1]return 
}func (s *Stack) push(v byte) {s.data = append(s.data, v)s.length++
} 

题目中是连续两个重复字符才删除,那么是多个重复字符如何删除呢?
可以增加一个last_char 变量,存放着上一次的结果。

s2 := []byte(s)
stack := Stack{}
stack.push(s2[0])
var lastChar = s2[0]
for i := 1; i < len(s2); i++ {v := stack.top()if v == s2[i] {stack.pop()} else if (v != lastChar) && (v != s2[i]) {// 和上一次字符相同时,不需要入栈stack.push(s2[i])}
}
return string(stack.data)

6. 逆波兰表达式求值

逆波兰表达式是一种后缀表达式,运算符号在后面,前面俩是运算数。

本质上还是使用栈来进行取值,然后运算。

import "strconv"func evalRPN(tokens []string) int {// 思路:符号就退出两个数字,然后运算既可stack := Stack{}var (s1 ints2 intresult int)for _, val := range tokens {if val == "+" || val == "-" || val == "*" || val == "/" {s2 = stack.pop()s1 = stack.pop()if val == "+" {stack.push(s1 + s2)} else if val == "-" {stack.push(s1 - s2)} else if val == "*" {stack.push(s1 * s2)} else if val == "/" {stack.push(s1 / s2)}} else {intVal, _ := strconv.Atoi(val)stack.push(intVal)}}result = stack.pop()return result
}type Stack struct {data []intlength int
}func (s *Stack) pop() (v int) {if s.length < 1 {return }v = s.data[s.length-1]s.data = s.data[:s.length-1]s.length--return 
}func (s *Stack) top() (v int) {if s.length < 1 {return }v = s.data[s.length-1]return 
}func (s *Stack) push(v int) {s.data = append(s.data, v)s.length++
} 
http://www.tj-hxxt.cn/news/92691.html

相关文章:

  • 公众号做微网站吗爬虫搜索引擎
  • 做电子元器件的网站产品质量推广营销语
  • 上海浦东政府网站建设关键词优化排名软件哪家好
  • wordpress主题 演员网络优化工程师吃香吗
  • 企业网站里面的qq咨询怎么做优化排名案例
  • 上海猎头公司名单宁波专业seo服务
  • 苏州软件外包公司有哪些seo网站排名优化案例
  • 个人网站的订单关键词排名查询网站
  • 响应式网站代码百度知道官网
  • 怎么做网站信息如何做好关键词的优化
  • wordpress可以做cms吗seo的优缺点
  • 社交平台网站建设预算网页设计师
  • 兰州400电话网站建设app拉新推广平台渠道
  • 西安大型网站建设公司chatgpt中文在线
  • 网站开发时ie11的兼容网络营销策略的特点
  • 网站做app的软件有哪些北京seo优化厂家
  • 权威的网站建设排行榜东莞网站设计
  • 企业网站 的网络营销方法有中国十大门户网站排行
  • 做网站和做微商城有什么区别网络营销外包推广定制公司
  • 如何做网站模版今日国内新闻大事
  • 长春哪有做网站公司免费发布外链
  • 太原注册公司在哪个网站申请网站安全检测平台
  • 做宣传册网站广告投放这个工作难不难做
  • php网站插件删除或添加品牌营销案例分析
  • wordpress 百度软件seo优化大公司排名
  • 化妆品网站的搭建企业线上培训平台有哪些
  • 跨境电商b2b主要平台广丰网站seo
  • 北京网站建设icp有限公司推广引流工具
  • 网站制作代理平台网络推广公司联系方式
  • 淘宝上开个网站建设推销产品的软文500字