gpt4 book ai didi

java - 具有重复的正则表达式排列

转载 作者:行者123 更新时间:2023-12-02 12:47:04 24 4
gpt4 key购买 nike

我必须列出 3 个给定数字中所有可能的 4 位数组合。每个数字应至少使用一次。如果数字是 (1,2,4),则选项 1122 无效,因为它不使用数字 4。我的丑陋代码如下所示:

String s="";
for(int i=1000;i<5000;i++){
s=String.valueOf(i);
if(s.contains("1")&&s.contains("2")&&s.contains("4")
&&!s.contains("3")&&!s.contains("5")&&!s.contains("6")&&!s.contains("7")
&&!s.contains("8")&&!s.contains("9")&&!s.contains("0")){
System.out.println(s);
}
}

它列出了 36 种组合,这是正确答案。

您能否建议我一个可以代替该条件的正则表达式?

最佳答案

可能的组合是:

1241
1242
1244

我只使用了 3 个所需的数字(1、2、4),这样我们就只剩下一个数字需要填写。由于我们有 3 个数字可供选择,因此只有三种可能的组合。

要获得所有排列,请对每个数字中的所有数字进行洗牌并消除重复项。有很多关于如何获得排列的文章,例如Permutation of array 。要消除重复,您可以使用 Java Set。

关于java - 具有重复的正则表达式排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44744835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com