Redian新闻
>
还等啥, 上扑上吗进
avatar
还等啥, 上扑上吗进# Stock
y*s
1
给一个array:[2, 3, 6],可以在里面插入: +, -, *, / 符号。求所有可能得到的值
。先不考虑被0除这些的特殊情况。
比如:
2+3+6=11
2*3+6=12
avatar
h*n
2
avatar
l*s
3
Thanks for sharing. A DFS solution.
private IList calculateAll(int[] nums){
ISet result = new HashSet();
if(nums.Length == 0) return result.ToList();
dfs(result, 0, nums[0], 0, nums);
return result.ToList();
}
private void dfs(ISet result, int total, int head, int iCur, int[] nums
){
if(iCur == nums.Length - 1){
result.Add(total + head);
return;
}
dfs(result, total + head, nums[iCur + 1], iCur + 1, nums); //+
dfs(result, total + head, -nums[iCur + 1], iCur + 1, nums); //-
dfs(result, total, head * nums[iCur + 1], iCur + 1, nums); //*
dfs(result, total, head / nums[iCur + 1], iCur + 1, nums); // div
}
avatar
g*n
4
are you sure? I know you are daniu, gaming life

【在 h****n 的大作中提到】
: 上
avatar
y*s
5
太漂亮了!多谢!!

nums

【在 l******s 的大作中提到】
: Thanks for sharing. A DFS solution.
: private IList calculateAll(int[] nums){
: ISet result = new HashSet();
: if(nums.Length == 0) return result.ToList();
: dfs(result, 0, nums[0], 0, nums);
: return result.ToList();
: }
: private void dfs(ISet result, int total, int head, int iCur, int[] nums
: ){
: if(iCur == nums.Length - 1){

avatar
C*i
6
555
avatar
h*n
7
这个...我也不是很sure地说

【在 g*******n 的大作中提到】
: are you sure? I know you are daniu, gaming life
avatar
g*n
8
lol

【在 h****n 的大作中提到】
: 这个...我也不是很sure地说
avatar
j*l
9
Brainless follow.

【在 h****n 的大作中提到】
: 这个...我也不是很sure地说
avatar
b*r
10
lol...
帮主太实诚了~~
应该大吼一声,纳指冲2000去了。。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。