【算法题】2232. 向表达式添加括号后的最小结果
创始人
2024-05-29 23:21:42
0

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
坚持不懈,越努力越幸运,大家一起学习鸭~~~

题目:

给你一个下标从 0 开始的字符串 expression ,格式为 “+” ,其中 和 表示正整数。

请你向 expression 中添加一对括号,使得在添加之后, expression 仍然是一个有效的数学表达式,并且计算后可以得到 最小 可能值。左括号 必须 添加在 ‘+’ 的左侧,而右括号必须添加在 ‘+’ 的右侧。

返回添加一对括号后形成的表达式 expression ,且满足 expression 计算得到 最小 可能值。如果存在多个答案都能产生相同结果,返回任意一个答案。

生成的输入满足:expression 的原始值和添加满足要求的任一对括号之后 expression 的值,都符合 32-bit 带符号整数范围。

示例 1:

输入:expression = “247+38”
输出:“2(47+38)”
解释:表达式计算得到 2 * (47 + 38) = 2 * 85 = 170 。
注意 “2(4)7+38” 不是有效的结果,因为右括号必须添加在 ‘+’ 的右侧。
可以证明 170 是最小可能值。
示例 2:

输入:expression = “12+34”
输出:“1(2+3)4”
解释:表达式计算得到 1 * (2 + 3) * 4 = 1 * 5 * 4 = 20 。
示例 3:

输入:expression = “999+999”
输出:“(999+999)”
解释:表达式计算得到 999 + 999 = 1998 。

提示:

3 <= expression.length <= 10
expression 仅由数字 ‘1’ 到 ‘9’ 和 ‘+’ 组成
expression 由数字开始和结束
expression 恰好仅含有一个 ‘+’.
expression 的原始值和添加满足要求的任一对括号之后 expression 的值,都符合 32-bit 带符号整数范围

java代码:

class Solution {public String minimizeResult(String expression) {int n = expression.length();int pos = expression.indexOf('+');int minVal = Integer.MAX_VALUE;String result = "";for (int left = 0; left < pos; left++) {for (int right = pos + 1; right < n; right++) {String s1 = expression.substring(0, left);String s2 = expression.substring(left, right + 1);String s3 = expression.substring(right + 1);int r = calc(s1, s2, s3);if (r < minVal) {minVal = r;result = String.format("%s(%s)%s", s1, s2, s3);}}}return result;}public int calc(String s1, String s2, String s3) {String[] split = s2.split("\\+");int ans = Integer.parseInt(split[0]) + Integer.parseInt(split[1]);if (!s1.isEmpty()) {ans *= Integer.parseInt(s1);}if (!s3.isEmpty()) {ans *= Integer.parseInt(s3);}return ans;}
}

相关内容

热门资讯

我来教大家“全游联盟辅助器ap... 我来教大家“全游联盟辅助器app官方下载最新版本更新”详细分享开挂1、让任何用户在无需AI插件第三方...
我来教大家“新兴茶苑辅助器ap... 我来教大家“新兴茶苑辅助器app官方下载最新版本更新”详细分享开挂一、新兴茶苑AI软件牌型概率发牌机...
我来教大家“在线快3辅助器ap... 亲,在线快3这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,在线快3的开挂软件,名...
我来教大家“天天赢棋牌辅助器a... 亲,天天赢棋牌这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,天天赢棋牌的开挂软件...
我来教大家“嘉年华辅助器app... 您好,嘉年华这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打牌...
我来教大家“东方互娱辅助器ap... 亲,东方互娱这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,东方互娱的开挂软件,名...
我来教大家“么么棋牌十三水辅助... 我来教大家“么么棋牌十三水辅助器app官方下载最新版本更新”详细分享开挂一、么么棋牌十三水AI软件牌...
我来教大家“小猪对对碰辅助器a... 我来教大家“小猪对对碰辅助器app官方下载最新版本更新”详细分享开挂一、小猪对对碰AI软件牌型概率发...
我来教大家“独数大赛辅助器ap... 您好,独数大赛这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打...
我来教大家“传奇德州辅助器ap... 我来教大家“传奇德州辅助器app官方下载最新版本更新”详细分享开挂1、让任何用户在无需AI插件第三方...
我来教大家“晋江开心麻将辅助器... 我来教大家“晋江开心麻将辅助器app官方下载最新版本更新”详细分享开挂1、让任何用户在无需AI插件第...
我来教大家“中顺游戏辅助器ap... 您好,中顺游戏这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打...
我来教大家“太浪白城麻将辅助器... 我来教大家“太浪白城麻将辅助器app官方下载最新版本更新”详细分享开挂1、让任何用户在无需AI插件第...
我来教大家“唐三彩辅助器app... 亲,唐三彩这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,唐三彩的开挂软件,名称叫...
我来教大家“决胜数独辅助器ap... 我来教大家“决胜数独辅助器app官方下载最新版本更新”详细分享开挂一、决胜数独AI软件牌型概率发牌机...
我来教大家“皮皮四川麻将辅助器... 您好,皮皮四川麻将这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏...
我来教大家“云端互娱辅助器ap... 您好,云端互娱这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打...
我来教大家“约游麻将辅助器ap... 我来教大家“约游麻将辅助器app官方下载最新版本更新”详细分享开挂一、约游麻将AI软件牌型概率发牌机...
我来教大家“Y0辅助器app官... 我来教大家“Y0辅助器app官方下载最新版本更新”详细分享开挂一、Y0AI软件牌型概率发牌机制”必胜...
我来教大家“口袋广丰辅助器ap... 我来教大家“口袋广丰辅助器app官方下载最新版本更新”详细分享开挂1、让任何用户在无需AI插件第三方...