241. Different Ways to Add Parentheses

文章目录

  • 1 题目理解
  • 2 分治法

1 题目理解

输入:字符串input,包含数字和操作符
规则:给input的不同位置加括号,使得input可以得到不同的计算结果。
输出:返回可能的计算结果
Example 1:

Input: “2-1-1”
Output: [0, 2]
Explanation:
((2-1)-1) = 0
(2-(1-1)) = 2

2 分治法

文章参考力扣官网。
对于形如 x op y 的运算式而言,它的结果取决于 x和y结果的组合数。而 x和y又别分可以写成 x op y 这样的运算式。
因此该问题中的子问题就是 x op y 需要先解决 操作符两侧算式。

1 分解:按照操作符将式子分解为左右两部分
2 解决:递归调用,求得左右两边算式的值
3 合并:根据运算符,计算得到最终解

class Solution {public List<Integer> diffWaysToCompute(String input) {return compute(input);}private List<Integer> compute(String input){List<Integer> result = new ArrayList<Integer>();for(int i=0;i<input.length();i++){char op = input.charAt(i);if(op=='+' || op=='-' || op=='*' || op=='/'){List<Integer> leftValueList = compute(input.substring(0,i));List<Integer> rightValueList = compute(input.substring(i+1));int value = 0;for(int leftValue : leftValueList){for(int rightValue : rightValueList){if(op=='+'){value = leftValue+rightValue;}if(op=='-'){value = leftValue - rightValue;}if(op=='*'){value = leftValue * rightValue;}if(op=='/'){value = leftValue / rightValue;}result.add(value);}}}}if(result.isEmpty()){result.add(Integer.parseInt(input));}return result;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第一百零六期:长相不讨AI喜欢面试就会挂?全球百万求职者经历AI“看脸”面试

AI不仅会筛选你的简历&#xff0c;还会通过看脸决定你能否通过面试。这不是将来时。全球已有超过一百万求职者&#xff0c;经历过AI面试官的冷酷“凝视”。 作者&#xff1a;鱼羊 本文经AI新媒体量子位&#xff08;公众号ID:QbitAI&#xff09;授权转载&#xff0c;转载请联系…

最近比较忙

最近项目真是忙的可以不过还好前几天没事搞了个电影小偷,闲下来看看电影真是不错站在这里要的回下就可以了http://www.ve99.com 转载于:https://www.cnblogs.com/flashicp/archive/2006/04/29/388972.html

服务器控件HtmlTable下控件赋值问题

在程序开发过程中&#xff0c;碰到这样的问题&#xff1a; 1<table>2<tr>3<td><asp:DropDownList iddropdownlist1 runatserver></td>4</tr>5</table>在基类页中有如下代码&#xff1a;1foreach(Control pagectl inPage.Controls[1]…

Foundry feats. MultiverseStudio

https://www.foundry.com/news-awards/foundry-jcube-announcement 经过这么多年的过程&#xff0c;本周本产品终于发布了PR&#xff0c;这次是由Foundry独家代理销售。 目前本产品已经在全球第一线的工作室的流程内使用&#xff0c;用来装配无法想象巨大的场景&#xff0c;如果…

842. Split Array into Fibonacci Sequence

文章目录1 题目理解2 回溯1 题目理解 输入&#xff1a;一个数字字符串S。例如S“123456579”。 规则&#xff1a;我们可以把这个字符串分割为菲波那切数列&#xff0c;例如&#xff1a;[123, 456, 579]。 一个菲波那切数列需要符合以下条件&#xff1a; 1 0<F[i]<231−1…

第一百零七期:她说,嫁人就选程序员!

又是一年双十一&#xff0c;单身狗们还好吗?想脱单?找个程序猿/程序媛是不错的选择&#xff0c;要不要了解一下? 作者&#xff1a;李二狗 图片来自 Pexels 程序员&#xff0c;已经渐渐成当代相亲市场的一只主力军。甚至可以说是“香饽饽”。 越来越多的妹子&#xff0c;在…

第一百零八期:比较容易理解的Hbase架构全解,10分钟学会,建议收藏

依然是Hadoop组件的讲解&#xff0c;今天说到HBase 架构&#xff0c;都是一字一句打出来的&#xff0c;希望各位转发加关注&#xff0c;会一直给大家写优质的内容。 作者&#xff1a;IT技术管理那些事儿 依然是Hadoop组件的讲解&#xff0c;今天说到HBase 架构&#xff0c;都…

Surface 系统恢复

Surface Pro 6超详细教程之下载Surface 系统恢复镜像并制作系统恢复U盘 https://www.jianshu.com/p/d1b41d913f91 怎样创建Windows 10系统恢复驱动器(U盘) https://jingyan.baidu.com/article/63f236286bd7c90208ab3dd7.html Surface Pro 6超详细教程之恢复Surface Pro6 window…

在Matlab2006a中如何创建.net组件

在Matlab2006a中如何创建.net组件 为了创建一个.NET组件&#xff0c;你必须首先写一个M-Code&#xff08;或者使用已存在的代码&#xff09;然后在MATLAB Builder for .NET中创建一个工程以打包这些代码. 1、编写、调试、保存Matlab代码以便作为.NET组件的基础 2、当你依然在Ma…

315. Count of Smaller Numbers After Self

文章目录1 题目理解2 暴力解法3 分治法1 题目理解 输入&#xff1a;int[] nums 输出&#xff1a;计数的数组int[] counts 规则&#xff1a;counts[i]表示nums中下标大于i&#xff0c;值小于nums[i]的个数 Example 1: Input: nums [5,2,6,1] Output: [2,1,1,0] Explanation: T…

SQL Server执行计划那些事儿(3)——书签查找

接下来的文章是记录自己曾经的盲点&#xff0c;同时也透漏了自己的发展历程&#xff08;可能发展也算不上&#xff0c;只能说是瞎混&#xff09;。当然&#xff0c;一些盲点也在工作和探究过程中慢慢有些眉目&#xff0c;现在也愿意发扬博客园的奉献精神&#xff0c;拿出来和大…

博客堂怎么连个搜索功能都没有

今天想去博客堂搜索下文章看看&#xff0c;结果找了半天&#xff0c;差点把显示器翻过来看也没找到个搜索的功能。是我真的没找到&#xff0c;还是博客堂觉的搜索功能没必要啊??? 转载于:https://www.cnblogs.com/BearsTaR/archive/2006/06/07/419837.html

1218. 最长定差子序列

文章目录1 题目理解2 开始思考1 题目理解 给你一个整数数组 arr 和一个整数 difference&#xff0c;请你找出并返回 arr 中最长等差子序列的长度&#xff0c;该子序列中相邻元素之间的差等于 difference 。 输入&#xff1a;整数数组arr&#xff0c; 整数difference 输出&…

第一百零九期:双十一光棍节调试一个商城必备功能,Java Springboot开源秒杀系统

秒杀系统在电商系统中是非常重要的&#xff0c;不是因为秒杀这个功能重要&#xff0c;而是因为秒杀提现的是一个系统的并发负载能力。例如阿里巴巴或者京东&#xff0c;每年的双十一的峰值&#xff0c;其实就是下一年的常态&#xff0c;双十一各项技术指标&#xff0c;已经作为…

【名额有限】云开发AI拓展能力等你来体验!

这次来了个超厉害的新能力&#xff01; 人脸智能打马赛克、人脸智能裁剪……各种操作&#xff0c;都能一步到位! 迫不及待想体验&#xff0c;戳链接&#xff1a;https://wj.qq.com/s2/3986990/e0ef/ 还没有搞懂&#xff0c;继续往下看—— 基于云开发&#xff0b;AI人脸检测与分…

第一百一十期:详解SpringBoot应用跨域访问解决方案

说到跨域访问&#xff0c;必须先解释一个名词&#xff1a;同源策略。所谓同源策略就是在浏览器端出于安全考量&#xff0c;向服务端发起请求必须满足&#xff1a;协议相同、Host(ip)相同、端口相同的条件&#xff0c;否则访问将被禁止&#xff0c;该访问也就被称为跨域访问。 …

【REPERTOIRE】Rastaman Vibration

上周四的晚上跟项目里的同事一起去吃饭&#xff0c;去的是城外面一个叫Aussonne小镇上的Restaurant du Lac&#xff0c;左近真的有个湖。 当晚又充分体现了法国人吃晚饭的功夫&#xff0c;我们到凌晨一点才回城&#xff0c;接下来的几天昏昏沉沉&#xff0c;用了周末才恢复&…

63. Unique Paths II and 64. Minimum Path Sum

文章目录1 63 Unique Paths II1.1 题目描述1.2 动态规划解决2 64. Minimum Path Sum2.1 题目理解2.2 动态规划这一遍刷dp的题目就很轻松了。1 63 Unique Paths II 1.1 题目描述 A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram…

LCA模板(数剖实现)

题目链接&#xff1a;https://www.luogu.org/problemnew/show/P3379 题意&#xff1a;LCA模板题。 思路&#xff1a;今天开始学树剖&#xff0c;先拿lca练练。树剖解lca&#xff0c;两次dfs复杂度均为O(n)&#xff0c;每次查询为logn&#xff0c;因此总复杂度为&#xff1a;O(2…

spring mvc学习(23):eclipse创建Maven项目没有src/main/java并不能新建的问题

eclipse里第一次创建Maven项目时&#xff0c;src/main/java与src/test/java目录都不会出现&#xff0c;这是因为eclipse里的一个默认配置。这两个目录是真实存在的&#xff0c;只是隐藏了。 这时候想要让这两个目录出现&#xff0c;就需要修改以下配置&#xff1a; 右击项目-…