博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Expression Add Operation
阅读量:6039 次
发布时间:2019-06-20

本文共 1764 字,大约阅读时间需要 5 分钟。

1 public class Solution { 2     public List
addOperators(String num, int target) { 3 List
result = new ArrayList<>(); 4 if (num.length() < 2) { 5 return result; 6 } 7 getPath(result, "", num, target, 0, 0L, 0L); 8 return result; 9 }10 11 private void getPath(List
result, String current, String num, int target, int pos, long value, long multi) {12 if (pos == num.length()) {13 if (target == value) {14 result.add(current);15 }16 return;17 }18 19 for (int i = pos; i < num.length(); i++) {20 if (i != pos && num.charAt(pos) == '0') {21 break;22 }23 long data = Long.parseLong(num.substring(pos, i + 1));24 if (pos == 0) {25 getPath(result, current + data, num, target, i + 1, data, data);26 } else {27 getPath(result, current + "+" + data, num, target, i + 1, value + data, data);28 getPath(result, current + "-" + data, num, target, i + 1, value - data, -data);29 getPath(result, current + "*" + data, num, target, i + 1, value - multi + multi * data, multi * data);30 }31 }32 }33 }

 

1. Deal with 0 situation : only 0 itself is allowed, it cannot be 04.

2. We have to record the previous value that can be used to extract from previous layer. For example 1234.

You calculate 1 + 2 + 3. Then you want add "*" between 3 and 4. You need to subtract 3 from the 1 + 2 + 3. And mutiple it with 4. So it would be (value - multi + multi * data)

 

转载于:https://www.cnblogs.com/shuashuashua/p/5649685.html

你可能感兴趣的文章
JSONObject与JSONArray的使用
查看>>
[SQL Server] 数据库日志文件自动增长导致连接超时的分析
查看>>
【常见Web应用安全问题】---6、Script source code disclosure
查看>>
<html:form>标签
查看>>
除了《一无所有》,我一无所有
查看>>
每日英语:China Seeks to Calm Anxiety Over Rice
查看>>
C++中struct和class的区别 [转]
查看>>
C++ ofstream和ifstream详细用法
查看>>
Mysql 连接查询 Mysql支持的连接查询有哪些
查看>>
Hive Streaming 追加 ORC 文件
查看>>
打开Apache自带的Web监视器
查看>>
eclipse插件
查看>>
Android笔记:通过RadioGroup/RadioButton自定义tabhost的简单方法
查看>>
ELCSlider
查看>>
XCode工程中 Targets详解
查看>>
Ext.Msg.prompt的高级应用
查看>>
Postgres 中 to_char 格式化记录
查看>>
关于联合索引
查看>>
开源 java CMS - FreeCMS2.7 登录移动端管理中心
查看>>
Android FM模块学习之三 FM手动调频
查看>>