首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
给表达式添加运算符
[编程题]给表达式添加运算符
热度指数:1420
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
给定一个仅包含数字的字符串 num 和一个目标值 target,在 num 的数字之间添加二元运算符 "+" , "-" 或 "*" ,返回所有能够得到目标值的表达式。
数据范围:字符串长度满足
, nums 中仅包含数字,
示例1
输入
"123",6
输出
["1+2+3","1*2*3"]
示例2
输入
"00",0
输出
["0+0","0*0","0-0"]
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(40)
分享
纠错
提交结果有问题?
8个回答
11篇题解
开通博客
比卡姆贝特
发表于 2022-03-22 22:22:21
思路 将结果定义为 presum+lastval+curval 的方式,根据+-*分别调整presum的取值。需要注意的是“0”的边界条件,0不能作为一个长度>1的子串的开始字符,需要过滤。 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @pa
展开全文
fred-coder
发表于 2022-02-16 10:49:02
dfs, 给每个数字添加一个运算符,直到数字字符串结尾,比较计算结果和目标值是否相同 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param num string字符串 # @param target int整型 # @return stri
展开全文
tompai
发表于 2022-01-19 20:04:55
//测试验证程序 public void Test() { String num = "73958"; int target = 24; //73-9-5*8=24 //73-9-5*8=24 String[] res = addOpt(num, target); if
展开全文
Coming680
发表于 2022-03-21 15:28:47
介于数据规模较小,暴力dfs求解即可。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @p
展开全文
17c89
发表于 2024-05-10 11:58:58
import java.util.*; /** * NC217 给表达式添加运算符 * @author d3y1 */ public class Solution { private List<String> resultList = new ArrayList<&
展开全文
小laji
发表于 2022-01-19 23:14:32
递归求解 public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @retu
展开全文
苦行潜修者
发表于 2024-04-20 11:32:21
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num
展开全文
姐姐的遮阳伞
发表于 2022-04-09 14:30:46
import java.util.*; public class Solution { public class ComparaInteger implements Comparator<Integer> { @Override pu
展开全文
CroMarmot
发表于 2022-01-08 01:18:01
题意 给定数字字符串ABCDEFG..., 判断A+B+C+D+E+F+G...,A-B-C-D-E-F-G...,A*B*C*D*E*F*G... 三个值中,是否存在等于target的值的 限制: 字符串长度不超过10 方法 分别记录字符串和运算结果,分别计算 对于加法,减法,和乘法,分别处理 每
展开全文
xqxls
发表于 2022-01-20 12:24:38
题意整理 给定一个仅包含数字的字符串num和一个目标值target。 在num的数字之间添加"+","-"或"*",返回所有能够得到目标值的表达式。 方法一(位运算) 1.解题思路 可以分两步解决,第一步将运算符添加到字符串num,组成一个表达式,找到所有可能的表达式,第二步校验生成的表达式,计
展开全文
问题信息
字符串
基础数学
递归
难度:
8条回答
40收藏
5298浏览
热门推荐
通过挑战的用户
查看代码
雷欧尼桑
2022-09-15 21:48:42
牛客11870...
2022-09-15 16:12:51
Serena_Lin
2022-09-14 16:04:12
Asphyxiay
2022-09-14 02:11:57
JerryXiong
2022-09-14 01:34:51
相关试题
执行完下列语句段后,i值为()
递归
评论
(16)
线段树编号问题
基础数学
评论
(2)
车站建造问题
基础数学
评论
(40)
如图 1 表示使用快表(页表)的虚...
编程基础
评论
(1)
订单表order_table全部记...
查找
数据库
数据分析
SQL
评论
(1)
给表达式添加运算符
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 */ public String[] addOpt (String num, int target) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串vector */ vector
addOpt(string num, int target) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param num string字符串 # @param target int整型 # @return string字符串一维数组 # class Solution: def addOpt(self , num , target ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 */ public List
addOpt (string num, int target) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 */ function addOpt( num , target ) { // write code here } module.exports = { addOpt : addOpt };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param num string字符串 # @param target int整型 # @return string字符串一维数组 # class Solution: def addOpt(self , num: str, target: int) -> List[str]: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 */ func addOpt( num string , target int ) []string { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 * @return int* returnSize 返回数组行数 */ char** addOpt(char* num, int target, int* returnSize ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param num string字符串 # @param target int整型 # @return string字符串一维数组 # class Solution def addOpt(num, target) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 */ def addOpt(num: String,target: Int): Array[String] = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 */ fun addOpt(num: String,target: Int): Array
{ // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 */ public String[] addOpt (String num, int target) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 */ export function addOpt(num: string, target: number): string[] { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 */ func addOpt ( _ num: String, _ target: Int) -> [String] { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param target int整型 * @return string字符串一维数组 */ pub fn addOpt(&self, num: String, target: i32) -> Vec
{ // write code here } }
"123",6
["1+2+3","1*2*3"]
"00",0
["0+0","0*0","0-0"]