Java combination algorithm

Given a collection of integers, what's a Java algorithm that will give combinations as follows..

Given the example collection: [1,3,5], we'd want the output:

[1-1]
[3-3]
[5-5]

[1-3]
[1-5]
[3-5]

Note that ordering is not important, so we want one of [1-3], [3-1] but not both.

This should work with a collection of n numbers, not just the the three numbers as in this example.

Answers


Below function should do this

  private void printPermutations(int[] numbers) {
    for(int i=0;i<numbers.length; i++) {
      for (int j=i; j<numbers.length; j++) {
        System.out.println("[" + numbers[i] + "-"+ numbers[j] +"]");
      }
    }
  }

Example call to this function

int[] numbers={1,2,3};
printPermutations(numbers);

Sounds like homework...but here it is anyway. Obviously you can do without an ArrayList, etc. - just quick and dirty.

import java.util.ArrayList;

public class Test {

public static void main(String[] args) {
    int[] input = {1, 3, 5};
    ArrayList<String> output = new ArrayList<String>();
    int n = input.length;

    for (int left = 0; left < n; left++) {
        output.add("["+input[left]+"-"+input[left]+"]");
        for (int right = left + 1; right < n; right++) {
            output.add("["+input[left]+"-"+input[right]+"]");
        }
    }

        System.out.println(output.toString());
    }
}

Here's the logic you want.

function subsequences (arr) {  
  arr.sort ();
  var subseqs = [];
  for (var i = 0; i < arr.length; ++i) {
    for (var j = i; j < arr.length; ++j) {
      subseqs.push ("" + arr [i] + "-" + arr [j]);
    }
  }
  return subseqs;
}

Need Your Help

How to gather Freebase Aliases for type location/location?

freebase mql

I'd like to pull information (MID and US English name) about all locations in Freebase AND also their Korean names and any Korean aliases via an MQL query. This is as far as I've gotten:

NHibernate and inheritance creating unexpected double query behavior?

c# nhibernate fluent-nhibernate

I'm using FluentNHibernate. I am not using auto-mapping. I have a base class that is subclassed. When I query against the base class then it performs an extra query against the subclass. Here's...