Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 38026629
由
zshaohui
编写于
2024-08-02 19:20:32 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
odn出库 挑料逻辑提交
1 个父辈
0b074730
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
8 行增加
和
57 行删除
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/order/util/CombinationUtil.java
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
3802662
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/core/order/util/CombinationUtil.java
deleted
100644 → 0
查看文件 @
0b07473
package
com
.
neotel
.
smfcore
.
core
.
order
.
util
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
CombinationUtil
{
private
static
void
backtrack
(
List
<
Integer
>
numbers
,
int
targetSum
,
int
start
,
List
<
Integer
>
current
,
List
<
List
<
Integer
>>
combinations
,
boolean
used
[])
{
if
(
targetSum
==
0
)
{
combinations
.
add
(
new
ArrayList
<>(
current
));
return
;
}
if
(
targetSum
<
0
||
start
>=
numbers
.
size
())
{
return
;
}
for
(
int
i
=
start
;
i
<
numbers
.
size
();
i
++)
{
// 如果不允许重复使用数字,并且当前数字已经被使用过,则跳过
if
(
used
!=
null
&&
used
[
i
])
{
continue
;
}
// 选择当前数字
current
.
add
(
numbers
.
get
(
i
));
// 如果不允许重复使用数字,则标记当前数字为已使用
if
(
used
!=
null
)
{
used
[
i
]
=
true
;
}
// 递归调用,继续查找剩余的数字
backtrack
(
numbers
,
targetSum
-
numbers
.
get
(
i
),
i
+
1
,
current
,
combinations
,
used
);
// 回溯,移除当前选择的数字
current
.
remove
(
current
.
size
()
-
1
);
// 如果不允许重复使用数字,则取消标记
if
(
used
!=
null
)
{
used
[
i
]
=
false
;
}
}
}
// 如果不允许重复使用数字,可以使用以下版本的findCombinations方法
public
static
List
<
List
<
Integer
>>
findCombinationsWithoutDuplicates
(
List
<
Integer
>
numbers
,
int
targetSum
)
{
boolean
[]
used
=
new
boolean
[
numbers
.
size
()];
return
findCombinations
(
numbers
,
targetSum
,
used
);
}
// 带有used数组的findCombinations方法
private
static
List
<
List
<
Integer
>>
findCombinations
(
List
<
Integer
>
numbers
,
int
targetSum
,
boolean
[]
used
)
{
List
<
List
<
Integer
>>
combinations
=
new
ArrayList
<>();
backtrack
(
numbers
,
targetSum
,
0
,
new
ArrayList
<>(),
combinations
,
used
);
return
combinations
;
}
}
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
查看文件 @
3802662
...
@@ -1338,4 +1338,12 @@ public class TaskService {
...
@@ -1338,4 +1338,12 @@ public class TaskService {
public
void
outTaskStatusChange
(
List
<
DataLog
>
dataLogList
)
{
public
void
outTaskStatusChange
(
List
<
DataLog
>
dataLogList
)
{
smfApi
.
outTaskStatusChange
(
dataLogList
);
smfApi
.
outTaskStatusChange
(
dataLogList
);
}
}
public
Collection
<
DataLog
>
batchSave
(
List
<
DataLog
>
dataLogList
)
{
Collection
<
DataLog
>
dataLogs
=
dataLogDao
.
insertAll
(
dataLogList
);
for
(
DataLog
task
:
dataLogs
)
{
taskMap
.
put
(
task
.
getId
(),
task
);
}
return
dataLogs
;
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论