Java语言如何实现一个算法

Java语言如何实现一个算法,我要计算1 2 3 4 4个数字,每3个数字相加乘以另一个数字的倒数,最小的那个

tengjq
tengjq 你好,软件给我发了吗?如果发不了麻烦您尽快回复下,我已经等了2天了。
大约 2 个月之前 回复

1个回答

我这个方法大O阶是 n^4,有点高

大体思路:首先穷举,求出所有可能性,再放到set集合里,保证不重复,然后要最小的那个,就可以用Treeset保证有序。

public static void main(String[] args) {

        Set<Integer> set =  new TreeSet<Integer>();
        int count=0;
        for (int i = 1; i <=4; i++) {
            for (int j =1; j <=4; j++) {
                for (int k = 1; k <=4; k++) {
                    for (int m = 1; m<=4; m++){
                        if ( i!=j && i!=k && i!=m && j!=k && j!=m && k!=m ) {
                            System.out.print(i+""+j+""+k+"   "+m+"  ");
                            count++;
                            set.add( (i+j+k) / m );
                        }
                    }
                }
            }
        }
        System.out.println("\n"+count);
        for(Integer i : set){
            System.out.print(i+"  ");
        }

    }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问