草庐IT

排列去重

全部标签

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 - Java 中的重复排列(字符串的形式为 : 00001112222)

我有000011122222形式的字符串。即连续数字重复随机编号。次。其他一些示例可能是:00111222233330122200011234444001122222等等。我知道,对于字符串01222,总共有5!/3!的排列是可能的。我需要为每个这样的字符串生成所有这些排列。我曾尝试通过各种方法生成排列。一种是生成所有可能的排列(就像没有重复的字符串一样),但由于我要使用的字符串可能非常大,这会浪费时间生成太多冗余排列。其次,我尝试将数字放在字符数组的随机索引处,该索引等于字符串的大小,并在数字计数与输入字符串相同时终止循环。然而,这样我浪费了很多内存,也占用了很多时间。我需要一种有效

java - 通过从数组中选择来创建排列

我有一个二维数组,用于存储与您在电话键盘上看到的内容相对应的不同字母。char[][]convert={{},{'A','B','C'},{'D','E','F'},{'G','H','I'},{'J','K','L'},{'M','N','O'},{'P','R','S'},{'T','U','V'},{'W','X','Y'}};如果我想从二维数组的前5行中各取1个字母,找出5个字母单词的所有可能排列,我该怎么做?我正在考虑递归,但这让我感到困惑。为了让这个问题更容易理解,这里有一个例子:一个3字母单词的第一个字母来自第1行,{'A','B','C'},第二个字母来自第3行,{'G

java - 按字母顺序排列的元音单词

该程序的目标是从包含所有6个元音(包括y)的单词列表中返回单词。元音按字母顺序排列的地方。例如,答案可能类似于:Aerious(尽管Aerious不起作用,因为它没有y)。目前该程序不返回任何单词。我认为containsVowels方法不正确。publicstaticvoidquestion11(){System.out.println("Question11:");System.out.println("Allwordsthathave6vowelsonceinalphabeticalorder:");StringvowelWord="";for(inti=1;ivowelPlace

java - JFrame中如何排列多个面板

我正在尝试制作一个简单的计算器来练习图形(我是一个完整的GUI菜鸟)。我在PolyashenkosCalulator和文本区域以及文本区域和按钮之间的空间之后有一些不需要的空间时遇到了一些问题。另外,我如何保持该布局但消除空间并使底部的3个按钮更小。任何有关我在做什么或如何做得更好的提示都将不胜感激。谢谢。importjavax.swing.*;importjava.awt.*;publicclasscalculator{publicstaticvoidmain(String[]args){//createstheJFrame(awindowwithdecorations)JFrame

0102全排列和对换-行列式-线性代数

把n个不同的数排成一列,叫做这n个数的全排列(排列)。一般情况,1,2,⋯ ,n1,2,\cdots,n1,2,⋯,n是n个数排列的标准次序。当n个数的任一排列中两个数的先后次序与标准次序不同时,有说有一个逆序。一个排列中所有的逆序总数叫做这个排列的逆序数,记作τ\tauτ.逆序数是奇数的叫做奇排列,逆序数为偶数的叫做偶排列。例132514逆序数解:求解逆序数,按照从小到大顺序找1对应3个,2对应1个,以此类推τ(32514)=3+1+0+1+0=5解:求解逆序数,按照从小到大顺序找\\1对应3个,2对应1个,以此类推\\\tau(32514)=3+1+0+1+0=5解:求解逆序数,按照从小到

java - 打印所有非零数字按升序排列的数字

我正在尝试编写一个程序,该程序将一些数字和一个基数作为参数,并通过具有升序的非零数字的数字向上计数。例如,以4为基数的3位数字,它应该打印:000001002003010011012013020022023030033100101102103110111112113120122123130133200202203220222223230233300303330333在base3中,它应该打印4位数字:0000000100020010001100120020002201000101010201100111011201200122020002020220022210001001100210

java - JAVA 字符数组中的特定元素排列?

如何列出字符数组中指定的任何字母的所有大写/小写排列?所以,假设我有一个这样的字符数组:['h','e','l','l','o']我想打印出字母“l”的可能组合,以便打印出[hello,heLlo,heLLo,helLo]。这是我到目前为止所拥有的(唯一的问题是我可以打印排列,但是我无法在实际单词中打印它们。所以我的代码打印[ll,lL,Ll,LL]而不是上面的例子。我的代码:importjava.util.ArrayList;importjava.util.HashSet;publicclassMain{publicstaticvoidmain(String[]args){//Sam

java - 在java中生成没有重复/排列的变体

我必须生成所有不重复数字0-9的变体。它们的长度可以从1到10。我真的不知道如何解决它,尤其是如何避免重复。例子:变化长度:4随机变化:9856、8753、1243、1234等(但不是9985-包含重复)你能帮帮我吗?或者你能给我代码吗? 最佳答案 要查找的关键字是排列。有大量免费的源代码可以执行它们。至于避免重复,我建议采用一种简单的递归方法:对于每个数字,您都可以选择是否将其纳入您的变体中,因此您的递归会通过数字计数并fork为两个递归调用,其中一个数字被包括在内,一个被排除在外。然后,在您到达最后一位数字后,每个递归本质上都会

java - 用单个数字排列的简单数字

我是编程新手,但我正在努力提高我作为程序员的技能。目前,我正在解决我给自己的一个问题,我试图获取一个可变数字并使它的每个数字成为数组中的一个单独数字。我不关心数字的顺序,所以如果它们颠倒了,那对我来说无关紧要。我知道人们已经多次问过这个问题,但他们似乎总是使用很多我不明白的东西。由于我的学校不提供任何Java类(class),我只知道我自己学到了什么,所以如果你能解释你在代码中使用的任何不是非常琐碎的术语,那就太好了。现在,我写了:intnumber=1234567890;while(number>0){System.out.println(number%10);number=numb