增強版斐波納契函數(shù)Tribonacci

很好地遇到了斐波那契更大的兄弟,AKA Tribonacci。
它基本上像斐波納契一樣,但是將序列的最后3個(而不是2個)數(shù)相加以生成下一個。
所以,如果我們要以開始[1, 1, 1]輸入開始我們的Tribonacci序列,我們有這樣的序列:

[1, 1 ,1, 3, 5, 9, 17, 31, ...]

我們將開始修改與于[0, 0, 1]如下:

[0, 0, 1, 1, 2, 4, 7, 13, 24, ...]

你需要創(chuàng)建一個給出數(shù)組/列表的斐波納契函數(shù),返回前n個元素 - 包含所有序列。
入?yún)⒌臄?shù)組始終包含3個數(shù)字; n將始終為非負數(shù); if n == 0,然后返回一個空數(shù)組。
同時需要注意的0<n<3的情況。

我的解決

  public  double[] tribonacci(double[] s, int n) {
        double[] b = new double[n];

        // 如果長度小于3,則遍歷傳入的數(shù)據(jù)并返回對應(yīng)的長度數(shù)組
        if (n < 3) {
            for (int i = 0; i < n; i++) {
                b[i] = s[i];
            }
            return b;
        }

        // 先把傳遞過來的前三位放到新數(shù)組中
        if (s != null && s.length > 0) {
            for (int i = 0; i < s.length; i++) {
                b[i] = s[i];
            }

            // 遍歷并放入長度減去3的數(shù)值放到新數(shù)組中
            for (int i = s.length; i < n; i++) {
                double first = b[i - 3];
                double second = b[i - 2];
                double thrid = b[i - 1];
                b[i] = (first + second + thrid);


            }
        }
        return b;
    }

排名前三的最佳解答

import java.util.Arrays;

public class Xbonacci {
  public double[] tribonacci(double[] s, int n) {

      double[] tritab=Arrays.copyOf(s, n);
      for(int i=3;i<n;i++){
        tritab[i]=tritab[i-1]+tritab[i-2]+tritab[i-3];
      }
      return tritab;

    }
}
import java.util.Arrays;

public class Xbonacci {
  public double[] tribonacci(double[] s, int n) {

      double[] tritab=Arrays.copyOf(s, n);
      for(int i=3;i<n;i++){
        tritab[i]=tritab[i-1]+tritab[i-2]+tritab[i-3];
      }
      return tritab;

    }
}
public class Xbonacci {

  public double[] tribonacci(double[] s, int n) {
      // hackonacci me
      if( n == 0 )
        return new double[0];
      double[] res = new double[n];
      for( int i = 0; i < n; i++ ) {
        if( i < 3 )
          res[i] = s[i];
        else
          res[i] = res[i-1]+res[i-2]+res[i-3];
      }
      return res;
  }
}

參考鏈接

Solutions: Tribonacci Sequence

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容