草庐IT

重复排列

全部标签

java - 生成一定长度的所有排列

假设我们有一个字母“abcdefghiklimnop”。我怎样才能以一种有效的方式递归地生成排列,以五组为一组重复这个字母表?这几天我一直在为这个问题苦苦挣扎。任何反馈都会有所帮助。本质上这与:Generatingallpermutationsofagivenstring相同但是,我只想要整个字符串长度为5的排列。我一直无法弄清楚这一点。因此,对于“abcdefghiklimnop”的所有长度为5的子串,找到子串的排列。例如,如果子字符串是abcdef,我会想要它的所有排列,或者如果子字符串是defli,我会想要该子字符串的所有排列。下面的代码给了我一个字符串的所有排列,但我想用它来查

重复键的 Java 8 流总和条目

我正在使用Java8流按特定键对条目列表进行分组,然后按日期对这些组进行排序。我还想做的是“折叠”组中具有相同日期的任何两个条目并将它们相加。我有一个这样的类(出于示例目的而被精简)classThing{privateStringkey;privateDateactivityDate;privatefloatvalue;...}然后我将它们分组:Map>thingsByKey=thingList.stream().collect(Collectors.groupingBy(Thing::getKey,TreeMap::new,Collectors.mapping(Function.id

java - 当我定义接口(interface)方法的参数 final 时,我需要在实现中重复 final 吗?

这个问题在这里已经有了答案:Finalargumentsininterfacemethods-what'sthepoint?(5个答案)关闭9年前。所以我需要在下面的情况下重复final吗?interfaceFoo{voidmeth(finalBarbar);}publicBazimplementsFoo{@Overridevoidmeth(/*isitfinal?*/Barbar){}}问题不仅是接口(interface)继承,还有类继承——我猜答案是一样的

java - 如何让 Maven 构建在重复依赖项上失败?

如果我在同一个pom中有两个相同的依赖项,我希望构建失败。目前我可以通过Maven依赖插件的“analyze-duplicate”检测到它的发生。但是,没有像其他一些选项那样的failOnWarning选项(另外,它在信息级别打印,而不是警告)。除了扩展它还有其他选择吗? 最佳答案 通常,当您希望构建由于某种原因失败时,查看MavenEnforcerPlugin的好插件。.这个插件可以配置一组规则,当这些规则被验证时,构建将失败。在这种情况下,它需要一个检查重复依赖项的规则,并且有一个内置规则专门用于此:.因此,您可以maven-e

java - 通过与另一个列表比较从一个列表中删除重复项

我有两个对象列表,我想从另一个列表中的一个列表中删除实例。例如我有以下两个列表,并假设每个字母代表对象。列表listA={A,B,C,D,E,F,G,H,I,J}列表listB={D,G,K,P,Z}现在,很明显listB有D和G,它们也在listA上,所以我希望listA像这样listA={A,B,C,E,F,H,I,J}你们能不能建议一下O(n)或小于O(n2)的解决方案。我可以遍历两个列表并通过比较删除重复的实例,但我想要更高效的方法。 最佳答案 如果列表未排序,并且是ArrayLists或其他具有O(n)contains方法

java - 基于 Java 8 中的属性和谓词删除重复项

问题基于https://stackoverflow.com/a/29671501/2517622给定一个包含id、name和IQ的员工列表:Listemployee=Arrays.asList(newEmployee(1,"John",80),newEmployee(1,"Bob",120),Employee(1,"Roy",60),newEmployee(2,"Alice",100));我要输出:[Employee{id=1,name='Bob',iq=120},Employee{id=2,name='Alice',iq=100}]因此,根据员工的id属性从列表中删除重复项,并出于显

java - Java 中的高级数组排序/重新排列

所以我有一个具有以下理论值的数组:int[]elements={A1,A2,B1,B2,A3,A4,B3,B4,C1,C2,D1,D2,C3,C4,D3,D4};说明图:+-+-+-+-+|A|A|B|B|+-+-+-+-+|A|A|B|B|+-+-+-+-+|C|C|D|D|+-+-+-+-+|C|C|D|D|+-+-+-+-+简单地说,我希望将数组重新排列成以下形式:int[]elements={A1,A2,A3,A4,B1,B2,B3,B4,C1,C2,C3,C4,D1,D2,D3,D4};说明图:+-+-+-+-+|A|A|A|A|+-+-+-+-+|B|B|B|B|+-+-+

java - 用 0-(N-1) 中的唯一数字替换重复数字

背景:我有一个长度为N的正随机数数组,其中肯定包含重复项。例如10,4,5,7,10,9,10,9,8,10,5编辑:N可能是32,或者其他一些与该大小差不多的2的幂。问题:我正在尝试找到用0-(N-1)中缺失的数字替换重复项的最快方法。使用上面的例子,我想要一个看起来像这样的结果:10,4,5,7,0,9,1,2,8,3,6目标是让每个数字从0到N-1都有一个,而不仅仅是用0-(N-1)替换所有数字(随机顺序很重要)。编辑:确定性替换也很重要,即相同的输入将有相同的输出(不是随机的)。我的解决方案:目前在Java中实现,使用2个boolean数组来跟踪已使用/未使用的数字([0,N)

Java 8 可重复的自定义注解

我了解Java中的基本注释,例如@Override等。Annotationsareonlymetadataandtheydonotcontainanybusinesslogic.我正在查看来自Oracle的重复注释documentation了解Java8新功能的页面。例如,您正在编写代码以使用“计时器服务,使您能够在给定时间或按特定计划运行方法,类似于UNIXcron服务”。现在你想设置一个定时器来运行一个方法,doPeriodicCleanup,在每个月的最后一天和每个星期五晚上11:00。要设置计时器运行,请创建一个@Schedule注释并将其应用两次到doPeriodicClea

java - 从 ArrayList 的 ArrayList 中删除重复项

这个问题在这里已经有了答案:HowdoIremoverepeatedelementsfromArrayList?(40个答案)关闭5年前。我有一个问题,我确信解决方案很简单,但我找不到它。我有一个ArrayList较小的ArrayList秒。这些列表包含String类型的元素.我想将较小的列表合并为一个,然后删除重复项。让我说清楚。我有这个:[[USA,Maine],[USA,Maine,Kennebunk],[USA,Maine,NorthBerwick],[USA,NewHampshire],[USA,Keene,NewHampshire],[USA,Keene,NewHampsh