给n个不相同的数,求出组成的所有n位不相同的数,比如给你1,2,3,4,用来组成4位数,用Java求出所有的4位数。
2条回答 默认 最新
- L星火燎原 2022-03-23 15:24关注
```java public static void main(String... args) { //这个看你自己的定义,你要是直接用的字符串数组,就用这个,否则就用下面的,把int数组先转字符串数组 //List<String> list = Arrays.asList(new String[]{"1","2","3","4"}); int[] intArrays = {1,2,3,4}; String[] strArrays=Arrays.toString(intArrays).split("[\\[\\]]")[1].split(", "); //为何可以百度的事情非要来知乎问呢? List<String> list = Arrays.asList(strArrays); List<String> list1 = permutationNoRepeat(list, 4); System.out.println(list1); } /*** * @Description: 任意输入数组输入组成的不重复字符 * @Param: [list, length] * @return: java.util.List<java.lang.String> * @Author: lb * @Date:2022/3/23 15:21 */ public static List<String> permutationNoRepeat(List<String> list, int length) { Stream<String> stream = list.stream().distinct(); for (int n = 1; n < length; n++) { stream = stream.flatMap(i -> list.stream().filter(j -> !i.contains(j)).map(j -> i.concat(j))); } return stream.collect(Collectors.toList()); }
输出: [1234, 1243, 1324, 1342, 1423, 1432, 2134, 2143, 2314, 2341, 2413, 2431, 3124, 3142, 3214, 3241, 3412, 3421, 4123, 4132, 4213, 4231, 4312, 4321]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂
- ¥15 wordpress 产品图片 GIF 没法显示
- ¥15 求三国群英传pl国战时间的修改方法
- ¥15 matlab代码代写,需写出详细代码,代价私
- ¥15 ROS系统搭建请教(跨境电商用途)
- ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。