当前位置: 首页 > 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]
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java面试题--JVM大厂篇之Serial GC在JVM中有哪些优点和局限性
  • 数据库建立中间表的意义
  • 【D3.js in Action 3 精译_018】2.4 向选择集添加元素
  • WordPress杂技
  • kotlin get set
  • RabbitMQ发布确认及交换机类型
  • SQL Server分布式查询:跨数据库的无缝数据探索
  • vite+vue3项目初始化搭建
  • 避免6大Python高级陷阱,让你的Python代码更优雅
  • 【React Hooks原理 - forwardRef、useImperativeHandle】
  • 【Apollo学习笔记】—— Cyber RT之创建组件, test ok
  • python Requests库7种主要方法及13个控制参数(实例实验)
  • Linux云计算 |【第一阶段】ENGINEER-DAY5
  • MyBatis-Plus的几种常见用法
  • HTML5大作业三农有机,农产品,农庄,农旅网站源码
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 0x05 Python数据分析,Anaconda八斩刀
  • centos安装java运行环境jdk+tomcat
  • Hibernate最全面试题
  • Javascript编码规范
  • Js基础——数据类型之Null和Undefined
  • nginx 配置多 域名 + 多 https
  • node和express搭建代理服务器(源码)
  • RxJS: 简单入门
  • Travix是如何部署应用程序到Kubernetes上的
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 给github项目添加CI badge
  • 关于List、List?、ListObject的区别
  • 类orAPI - 收藏集 - 掘金
  • 聊聊redis的数据结构的应用
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 学习使用ExpressJS 4.0中的新Router
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • Hibernate主键生成策略及选择
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • $.proxy和$.extend
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (1)Android开发优化---------UI优化
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (转)Linq学习笔记
  • (轉貼) UML中文FAQ (OO) (UML)
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET CLR Hosting 简介
  • .Net Core缓存组件(MemoryCache)源码解析
  • .net 使用ajax控件后如何调用前端脚本
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .Net7 环境安装配置