Java数字替换问题

有两组数字[100,101,103][1,2]第1组数字被第2组数字替换如何列出两组数字的所有替换方案:方案结果中,必须包含第2组的所有数据,第1组数据可以不完整例:方案... 有两组数字
[100,101,103]
[1,2]
第1组数字被第2组数字替换
如何列出两组数字的所有替换方案:
方案结果中,必须包含第2组的所有数据,第1组数据可以不完整
例:
方案1:[1,2,103]
方案2:[1,2,100]
方案3:[1,2,101]
方案4:[1,101,2]
方案5:[1,100,2]
方案6:[1,103,2]
展开
 我来答
yugi111
2014-05-27 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
package table;

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class ReplaceNumber
{
private static List<String[]> recursionSub ( List<String[]> list, int count, String[] array, int ind, int start,
int... indexs )
{
start++;
if (start > count - 1)
{
return null;
}
if (start == 0)
{
indexs = new int[array.length];
}
for ( indexs[start] = 0; indexs[start] < array.length; indexs[start]++ )
{
recursionSub (list, count, array, 0, start, indexs);
if (start == count - 1)
{
String[] temp = new String[count];
for ( int i = count - 1; i >= 0; i-- )
{
temp[start - i] = array[indexs[start - i]];
}
boolean flag = true;
L: for ( int i = 0; i < temp.length; i++ )
{
for ( int j = i + 1; j < temp.length; j++ )
{
if (temp[i] == temp[j])
{
flag = false;
break L;
}
}
}
if (flag)
{
list.add (temp);
}
}
}
return list;
}

public static void main ( String[] args )
{
String a = "100,101,103";
String b = "1,2";
String[] as = a.split ("\\,");
List<String> result = new LinkedList<String> ();
for ( int i = 0; i < as.length; i++ )
{
String temp = b.trim () + "," + as[i].trim ();
result.add (temp);
}
int count = 0;
for ( int i = 0; i < result.size (); i++ )
{
LinkedList<String[]> list = new LinkedList<String[]> ();
String[] A = result.get (i).split ("\\,");
recursionSub (list, A.length, A, 0, -1);
for ( int j = 0; j < list.size (); j++ )
{
count++;
System.out.println ("方案" + ( count ) + ": " + Arrays.toString (list.get (j)));
}
}
}
}
TableDI
2024-07-18 广告
在Excel中,字符串匹配函数主要用于查找和定位特定字符串在文本中的位置或进行替换操作。常用的字符串匹配函数包括FIND、SEARCH、SUBSTITUTE和REPLACE等。FIND和SEARCH函数用于查找字符串的位置,而SUBSTIT... 点击进入详情页
本回答由TableDI提供
清水栞
2014-05-27 · TA获得超过1547个赞
知道小有建树答主
回答量:1538
采纳率:50%
帮助的人:975万
展开全部
就是把1,2替换100,101,103中的任意两个,然后显示出所有的排列组合吗?
追问
是的,第2组的数字数量可能和第一组的一样多,或者更多,这种情况下,第一组的数量可以用-1来填补
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pqzhanga
2014-05-27 · TA获得超过636个赞
知道小有建树答主
回答量:488
采纳率:50%
帮助的人:420万
展开全部
排列组合的算法问题,我这里有关于排列组合的一套算法,你可以参考程序代码自己修改下
http://jingyan.baidu.com/article/63acb44afb2c2561fcc17e0d.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式