草庐IT

java - Java 中的字符串排列(非递归)

我是一名10年级的高中生,正在尝试解决有关Java的数据结构和算法书中的一些问题。其中一个问题是打印字符串的所有排列。classC14{publicstaticvoidmain(chara[]){//char[]a={'c','a','r','b','o','n'};intc=0,w=0;for(intq=0;q这是我的尝试。这本书要求我为字符“c”、“a”、“r”、“b”、“o”、“n”做这件事。我的解决方案就是这样做的,但是当我尝试使用3或4个字母的单词时,它会重复出现。如果我删除最外层的循环并尝试打印它,它适用于3和4个字母的单词,但不适用于5个以上字母的单词。我很乐意澄清我的理

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

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

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