草庐IT

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

java - 获取字符串或组合的所有可能排列,包括 Java 中的重复字符

我一直在尝试生成一个列表,其中包含所有可能的4个字符的字符串,这些字符串可以由任何给定的字符集组成。我使用了一个函数从一组字符中生成每4个字符的组合,但每个字符只使用过一次。我需要使用给定字符集的所有可能组合,例如:String[]elements={"a","b","c","1","2","3"};int[]indices;CombinationGeneratorx=newCombinationGenerator(elements.length,4);StringBuffercombination;while(x.hasMore()){combination=newStringBuf

java - 按值的字母顺序排列 HashMap

这个问题在这里已经有了答案:SortaMapbyvalues(63个答案)关闭3年前。我有一个HashMap其中Object是Student的ID,Student是Student的对象。如何通过学生姓名student->getName()对HashMap进行求值?

java - 对于 N 个大小相等且整数按升序排列的数组,如何选择数组共有的数字?

我今天在接受采访时被问到一个算法问题,我很想听取SO成员的意见。问题如下;给定大小相等且整数按升序排列的N个数组,您将如何选择所有N个数组共有的数字。起初我的想法是迭代从第一个数组开始的元素,逐渐向下到其余数组。但如果我是对的,那将导致N次N次迭代。所以我想出了一个解决方案,通过将元素作为键并将值作为计数器来将计数添加到map中。这样我相信时间复杂度仅为N。以下是我的方法在Java中的实现publicstaticvoidmain(String[]args){int[]arr1={1,4,6,8,11,15};int[]arr2={3,4,6,9,10,16};int[]arr3={1,

java - 打印二进制排列列表

我想做的是打印一个二进制数n位长的所有可能性。换句话说,使用4位数字:0001001001001000..等等老实说,我什至不知道从哪里开始(除了我认为我需要使用一个循环,可能还需要一个数组),所以任何指向正确方向的指示都将不胜感激。 最佳答案 也许你可以使用递归算法:publicvoidprintBin(StringsoFar,intiterations){if(iterations==0){System.out.println(soFar);}else{printBin(soFar+"0",iterations-1);print

MATLAB中的矩阵的重构和重新排列

师从清风矩阵的重构和重新排列reshape函数reshape函数可以改变矩阵的形状,其常用语法为reshape(A,m,n)或者reshape(A,[m,n]),这可以将矩阵A的形状更改为m行n列,前提是转化前后的两个矩阵的元素总数要相同。例如有一个矩阵A,它原来的大小是2行6列,我们需要将其形状变成3行4列,那么,我们可以使用命令:reshape(A,3,4). (A和B中的元素个数是相同的)从上面的运行结果可以看出,reshape函数实际上是按矩阵的线性索引来重新组织矩阵元素的。也就是说,它先取矩阵A的第一列,然后是第二列,依此类推,再按新的维度重新组织这些元素。因此,转换后的B矩阵中的元

java - 无重复排列的算法?

在我正在制作的为给定字母集生成字谜的程序中,我目前的方法是:获取所有字母的所有组合获取每个组合组的排列按字母顺序对生成的排列进行排序删除重复条目我的问题与排列的数学有关。我想知道是否有可能在删除重复条目后完全计算存储所有剩余条目所需的数组大小(例如,使用重复字母的数量以及排列公式或其他东西)。对于我的问题含糊不清,我深表歉意,我仍在研究更多关于组合和排列的信息。随着我对组合和排列的理解的扩展,以及一旦我重新熟悉我的程序(这是我去年夏天的一个业余项目),我将尝试详细说明我的目标。 最佳答案 如果您有n个元素,并且一个元素有a[0]个副

java - 按排名排列的 FindBugs 2.0 错误列表?

我知道有list的错误,但我想有一个列表,其中包含有关排名(2.0版中的1到20)或至少有关排名组(关注、麻烦、可怕、最可怕)的附加信息。也许我遗漏了什么,但FindBugs论坛似乎并不活跃?! 最佳答案 也许http://code.google.com/p/findbugs/source/browse/trunk/findbugs/etc/bugrank.txt但我不知道它是否详尽无遗(FindBugsBugDescriptions有更多条目)。 关于java-按排名排列的FindBu

华为OD机试 - 数字排列(Java & JS & Python & C & C++)

题目描述小明负责公司年会,想出一个趣味游戏:屏幕给出1~9中任意4个不重复的数字,大家以最快时间给出这几个数字可拼成的数字从小到大排列位于第 N位置的数字,其中N为给出数字中最大的(如果不到这么多数字则给出最后一个即可)。注意:2可以当作5来使用,5也可以当作2来使用进行数字拼接,且屏幕不能同时给出2和5;6可以当作9来使用,9也可以当作6来使用进行数字拼接,且屏幕不能同时给出6和9。如给出:1,4,8,7,则可以拼接的数字为:1,4,7,8,14,17,18,41,47,48,71,74,78,81,84,87,147,148,178...(省略后面的数字)那么第N(即8)个的数字为41。输