Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将数字映射到另一个数字_Java_Algorithm - Fatal编程技术网

Java 将数字映射到另一个数字

Java 将数字映射到另一个数字,java,algorithm,Java,Algorithm,我有一个应用程序有两种模式:进入模式和返回模式 在输入模式下,当输入值时,会增加位置,并且该位置与输入的数字相关联 例如,值​​已输入,且pos=0: 二十三 八十 67 三十四 职位将是 23=1 80=2 67=3 34=4 如果有人在返回模式下输入值34,则应返回4 如果有人在返回模式下输入值23,则应返回1 这就像一个数字映射 尝试使用函数 例如,输入4个值​​需要一个三次函数 这个三次函数将值关联起来​​上面是临床数字 y = -16.05735 + 1.1394 * x - 0.01

我有一个应用程序有两种模式:进入模式和返回模式

在输入模式下,当输入值时,会增加位置,并且该位置与输入的数字相关联

例如,值​​已输入,且pos=0:

二十三

八十

67

三十四

职位将是

23=1

80=2

67=3

34=4

如果有人在返回模式下输入值34,则应返回4

如果有人在返回模式下输入值23,则应返回1

这就像一个数字映射

尝试使用函数 例如,输入4个值​​需要一个三次函数

这个三次函数将值关联起来​​上面是临床数字

y = -16.05735 + 1.1394 * x - 0.01966465 * x ^ 2 + 0.0001030451 * x ^ 3

4 = -16.05735 + 1.1394 * 34 - 0.01966465 * 34 ^ 2 + 0.0001030451 * 34 ^ 3
还要尝试遍历在名为number[]的数组中输入的数字

数字[0]=23

数字[1]=80

等等

我想知道是否有一种更快的方法可以返回输入的数百万个数字的关联号码。

使用

foo (int number_enter) {
for {int i = 0; i <number.length; i ++) {
if (number_enter == number [i]) {return i;}
}
}

foo (34); // return 4
    Map<Integer, Integer> map = new HashMap<>();

    void addNumberAtPosition(int number, int position) {
        map.put(number, position);
    }

    int getPositionOfNumber(int number) {
        return map.getOrDefault(number, -1);//return -1 if number is not present.
    }