成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

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

JellyBool / 818人閱讀

摘要:很好地遇到了斐波那契更大的兄弟,。它基本上像斐波納契一樣,但是將序列的最后個(gè)而不是個(gè)數(shù)相加以生成下一個(gè)。入?yún)⒌臄?shù)組始終包含個(gè)數(shù)字將始終為非負(fù)數(shù),然后返回一個(gè)空數(shù)組。同時(shí)需要注意的的情況。

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

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

我們將開(kāi)始修改與于[0, 0, 1]如下:

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

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

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

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

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

            // 遍歷并放入長(zhǎng)度減去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;
    }
排名前三的最佳解答

1.

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

2.

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

3.

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)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74074.html

相關(guān)文章

  • 【JS 小短文】變態(tài)版斐波那

    摘要:轉(zhuǎn)載自我的博客效率呢斐波那契數(shù)列大家應(yīng)該再熟悉不過(guò)了,平時(shí)面試也經(jīng)常會(huì)被問(wèn)到,然而不知道大家有沒(méi)有考慮過(guò)它的效率呢普通版我們一般給出的代碼應(yīng)該是這樣的這段代碼邏輯完全沒(méi)問(wèn)題,但是如果你稍測(cè)試一下可能就會(huì)發(fā)現(xiàn)問(wèn)題了,比如可以試一下,這時(shí)你 轉(zhuǎn)載自 我的博客 效率呢? 斐波那契數(shù)列大家應(yīng)該再熟悉不過(guò)了,平時(shí)面試也經(jīng)常會(huì)被問(wèn)到,然而不知道大家有沒(méi)有考慮過(guò)它的效率呢? 普通版 我們一般給出的...

    sihai 評(píng)論0 收藏0
  • 算法記錄 >> 斐波那數(shù)列

    摘要:今天去面試筆試題斐波那契數(shù)列實(shí)現(xiàn),雖然很簡(jiǎn)單?;貋?lái)想想既然算法這么重要那就從這個(gè)開(kāi)始來(lái)記錄自己的算法庫(kù)吧。在數(shù)學(xué)上,斐波納契數(shù)列以如下被以遞歸的方法定義,,。斐波拉契算法規(guī)律很簡(jiǎn)單,,觀察下數(shù)列值就很容易總結(jié)出來(lái)了。 一、寫(xiě)在前面 算法這塊對(duì)于大多數(shù)程序員(包括我)來(lái)說(shuō)可能都是一個(gè)薄弱的地方,如何彌補(bǔ)尼? 每個(gè)人都知道那就是學(xué)習(xí)、特別是算法沒(méi)有任何捷徑可走。 在這記錄平時(shí)自己工作和生...

    robin 評(píng)論0 收藏0
  • 每周一練 之 數(shù)據(jù)結(jié)構(gòu)與算法(Queue)

    摘要:與堆棧區(qū)別隊(duì)列的操作方式和堆棧類(lèi)似,唯一的區(qū)別在于隊(duì)列只允許新數(shù)據(jù)在后端進(jìn)行添加。移除隊(duì)列的第一項(xiàng),并返回被移除的元素。三使用隊(duì)列計(jì)算斐波那契數(shù)列的第項(xiàng)。前兩項(xiàng)固定為,后面的項(xiàng)為前兩項(xiàng)之和,依次向后。 showImg(https://segmentfault.com/img/remote/1460000019005270); 這是第二周的練習(xí)題,這里補(bǔ)充下咯,五一節(jié)馬上就要到了,自己的...

    anquan 評(píng)論0 收藏0
  • leetcode 100 斬!回顧

    摘要:斬從第題開(kāi)始,到現(xiàn)在也差不多快一年了,回顧紀(jì)念一下。當(dāng)時(shí)對(duì)回溯動(dòng)態(tài)規(guī)劃也都只是上課的時(shí)候?qū)W過(guò),也并不熟練。最經(jīng)典的例子就是斐波那契數(shù)列了,求第項(xiàng)數(shù)列的值。 leetcode 100 斬!從第 1 題開(kāi)始,到現(xiàn)在也差不多快一年了,回顧紀(jì)念一下。 showImg(https://segmentfault.com/img/bVbu461?w=661&h=191); 為什么開(kāi)始刷題? 從大一就...

    wyk1184 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<