如何将3个数字映射到一个值(动态编程)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将3个数字映射到一个值(动态编程)相关的知识,希望对你有一定的参考价值。

使用动态编程思想,我想存储3个数字(x,y,z),它们映射到值(v)。

对于x,y,z的每个新值,我想检查它的值是否已经存在。 (避免重新计算)

x,y,z的顺序并不重要。那是1,1,2和2,1,1等应该映射到相同的值。

使用for循环计算x,y,z(2个嵌套循环为x + y + z = n(给定))

我该怎么做到这一点?它需要自定义数据结构吗?

谢谢

用C ++编码

答案

首先对这三个值进行排序,因为它们的相对序列并不重要,然后将它们与特殊字符#连接起来以生成字符串。

例如,在你的情况下1,1,2和2,1,1将首先被排序为相同的序列1,1,2然后连接它们将给我们1#1#2 - 一个字符串然后键将是唯一的,以满足你的需求。

如果忽略其他任何事情,也许你应该在这里提供更详细的要求。

以上是关于如何将3个数字映射到一个值(动态编程)的主要内容,如果未能解决你的问题,请参考以下文章

如何将非统一的 int 范围映射到 C# 中的某些字符串值?

如何使用 Jackson 将 JSON 键值数组动态映射到子对象?

如何将无序映射的值设置为 0 以外的数字

C 编程位表示

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。