Java全对算法

发布于 2024-09-11 07:02:52 字数 224 浏览 5 评论 0原文

给定一个整数集合,什么是 Java 算法,它将给出如下所示的所有项目对。

给定示例集合:[1,3,5],我们想要输出:

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

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

请注意,顺序并不重要,因此我们想要 [1-3]、[3-1] 之一,但不能两者兼而有之。

这应该适用于 n 个数字的集合,而不仅仅是本例中的三个数字。

Given a collection of integers, what's a Java algorithm that will give all pairs of items 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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情仇皆在手 2024-09-18 07:02:52

下面的函数应该执行

  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] +"]");
      }
    }
  }

此函数的示例调用

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

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);
谜兔 2024-09-18 07:02:52

听起来像是家庭作业……但无论如何,它就是这样。显然你可以不用 ArrayList 等 - 只是又快又脏。

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());
    }
}

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());
    }
}
你的笑 2024-09-18 07:02:52

这就是您想要的逻辑。

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;
}

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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文