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

Golang | Leetcode Golang题解之第241题为运算表达式设计优先级

题目:

题解:

const addition, subtraction, multiplication = -1, -2, -3func diffWaysToCompute(expression string) []int {ops := []int{}for i, n := 0, len(expression); i < n; {if unicode.IsDigit(rune(expression[i])) {x := 0for ; i < n && unicode.IsDigit(rune(expression[i])); i++ {x = x*10 + int(expression[i]-'0')}ops = append(ops, x)} else {if expression[i] == '+' {ops = append(ops, addition)} else if expression[i] == '-' {ops = append(ops, subtraction)} else {ops = append(ops, multiplication)}i++}}n := len(ops)dp := make([][][]int, n)for i, x := range ops {dp[i] = make([][]int, n)dp[i][i] = []int{x}}for sz := 3; sz <= n; sz++ {for l, r := 0, sz-1; r < n; l += 2 {for k := l + 1; k < r; k += 2 {for _, x := range dp[l][k-1] {for _, y := range dp[k+1][r] {if ops[k] == addition {dp[l][r] = append(dp[l][r], x+y)} else if ops[k] == subtraction {dp[l][r] = append(dp[l][r], x-y)} else {dp[l][r] = append(dp[l][r], x*y)}}}}r += 2}}return dp[0][n-1]
}
http://www.lryc.cn/news/405301.html

相关文章:

  • Unity客户端接入原生Google支付
  • Spring Cloud之五大组件
  • 在 CentOS 7 上安装 Docker 并安装和部署 .NET Core 3.1
  • redis的学习(一):下载安装启动连接
  • 前端设计模式面试题汇总
  • linux(CentOS、Ubuntu)安装python3.12.2环境
  • CSS 中border-radius 属性
  • 【大数据专题】数据仓库
  • go关于string与[]byte再学深一点
  • Qt 实战(7)元对象系统 | 7.4、属性系统:深度解析与应用
  • Docker核心技术:容器技术要解决哪些问题
  • sklearn中的增量学习:特征提取的艺术
  • PostgreSQL 中如何处理数据的唯一性约束?
  • VAE论文阅读
  • 【数据分享】2013-2022年我国省市县三级的逐月SO2数据(excel\shp格式\免费获取)
  • 【Jmeter】记录一次Jmeter实战测试
  • volatile,最轻量的同步机制
  • 在Linux、Windows和macOS上释放IP地址并重新获取新IP地址的方法
  • Mamba-yolo|结合Mamba注意力机制的视觉检测
  • 语音识别标记语言(SSML):自动标识中文多音字
  • 排序算法与复杂度介绍
  • Kafka介绍及Go操作kafka详解
  • DAY05 CSS
  • HTTPS 的加密过程 详解
  • spring整合mybatis,junit纯注解开发(包括连接druid报错的所有解决方法)
  • ClusterIP、NodePort、LoadBalancer 和 ExternalName
  • 【Day1415】Bean管理、SpringBoot 原理、总结、Maven 高级
  • Git之repo sync -c与repo sync -dc用法区别(四十八)
  • vite + vue3 + uniapp 项目从零搭建
  • 在CentOS中配置三个节点之间相互SSH免密登陆