gpt4 book ai didi

Java 算法数的组合变量(类似于位串算法)

转载 作者:行者123 更新时间:2023-11-29 07:12:42 25 4
gpt4 key购买 nike

我有一个问题想用 Java 解决,但我无法弄清楚我需要遵循的算法。这个问题类似于位串问题(有多少个长度为 x 的位串),但难度更大。无论如何,我什至不确定解决普通位串问题的算法。

所以这是我的实际问题:我有 5 个变量。说 Q W X Y Z。每个变量可以取 3 个值之一(所以像位串可以取 1 或 0,但这可以取 0、1 或 2)。我需要生成此“位串”的所有可能组合。

所以一个组合可能是 00000,另一个可能是 10002,另一个可能是 22222,等等。我需要打印出这个“位串”的所有组合

我真的很困惑如何解决这个问题,甚至想出一个像样的算法。

感谢您的帮助!非常感谢。

最佳答案

您需要考虑其背后的数学。当您了解如何枚举这些字符串后,事情就会变得容易得多。这将产生一种明显的方法,不仅可以生成 字符串,还可以让您“随机访问”它们,即您还可以编写一个 get(int num) 方法这将产生第 num 个元素。

数学非常简单,它只涉及模运算 (%) 和除法,当您自己解决这个问题时,它真的会有返回。

作为一个简单的初步准备,假设您有 n 个十进制数字。

  • 给定一个数字 x,如何得到第 n 位?
  • 给定 n 个数字,你如何得到数字 x

弄清楚这一点后,尝试从 10 数字中抽象出来。说,练习二进制计数。然后是三进制,这将是你的 3 位数的解决方案。

关于Java 算法数的组合变量(类似于位串算法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12334397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com