java - 如何找到数组中最接近的元素

标签 java arrays fibonacci

我曾尝试寻找这个问题的答案,但运气不佳。基本上,我被要求创建斐波那契代码,然后允许用户输入在序列中查找输入。如果它在序列中,那么它显示什么索引。如果不是,则显示最接近的两个数字。

因此,如果用户输入 4,最近的元素将是 3 和 5,索引将是 4 和 5。

我基本上正在努力寻找最近的元素。我不太确定该怎么做。 ****更新**** 所以我确实弄清楚了,谢谢

最佳答案

1.将之前的斐波那契数存储在缓冲区中(可以用-1初始化)

2.计算出每个新数字后更新缓冲区。

3.如果当前数字不等于新数字

3.检查数字是否大于缓冲区且小于新数字

3.A.1)如果是,这两个是您最接近的数字。

import java.util.Scanner; 

public class Fibonacci {

public static void main(String[] args) {

    int userInput;
    Fibonacci.fibonacciAlgor(5);

}

public static void fibonacciAlgor(int userInput)
{
    int i=0;
    int buffer=-1;
    int x=0,y=1;
    System.out.println("Input: " + userInput);
    while(i<1000000){
        if(x==userInput){
            System.out.println("Belongs to sequence: Yes "");
            break;
        }
        else{
            if(userInput>buffer&&userInput<x){
                System.out.println("Belongs to sequence: No ");
                System.out.println("Nearest Elements: " + buffer+","+x);
                break;
            }
        }

        buffer=x;
        int temp=y;
        y=x+y;
        x=temp;
        i++;
    }


}   

}

关于java - 如何找到数组中最接近的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48480680/

相关文章:

java - RxJava迭代对象中的列表并返回对象

java - JSF(和 PrimeFaces)如何将参数传递给 ManagedBean 中的方法

c++ - 在构造函数中初始化数组或 vector

javascript - Javascript中如何将数组的数组转换为对象数组?

algorithm - 检查字符串是否包含斐波那契数列的一部分

javascript - Javascript 中的斐波那契数列

java - JMenuItem 显示奇怪的名称

java - 双倍流

javascript - 如何从javaScript中的一组数组中形成最大数

java - 懒惰斐波那契数列