From a5f906f309f893ece2ea729b798c05003365eb6e Mon Sep 17 00:00:00 2001 From: YDZ Date: Fri, 13 Dec 2019 18:35:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20problem=201137?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1137. N-th Tribonacci Number.go | 13 ++++ .../1137. N-th Tribonacci Number_test.go | 62 +++++++++++++++++++ .../1137. N-th Tribonacci Number/README.md | 50 +++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 Algorithms/1137. N-th Tribonacci Number/1137. N-th Tribonacci Number.go create mode 100644 Algorithms/1137. N-th Tribonacci Number/1137. N-th Tribonacci Number_test.go create mode 100755 Algorithms/1137. N-th Tribonacci Number/README.md diff --git a/Algorithms/1137. N-th Tribonacci Number/1137. N-th Tribonacci Number.go b/Algorithms/1137. N-th Tribonacci Number/1137. N-th Tribonacci Number.go new file mode 100644 index 00000000..d31d0c09 --- /dev/null +++ b/Algorithms/1137. N-th Tribonacci Number/1137. N-th Tribonacci Number.go @@ -0,0 +1,13 @@ +package leetcode + +func tribonacci(n int) int { + if n < 2 { + return n + } + trib, prev, prev2 := 1, 1, 0 + for n > 2 { + trib, prev, prev2 = trib+prev+prev2, trib, prev + n-- + } + return trib +} diff --git a/Algorithms/1137. N-th Tribonacci Number/1137. N-th Tribonacci Number_test.go b/Algorithms/1137. N-th Tribonacci Number/1137. N-th Tribonacci Number_test.go new file mode 100644 index 00000000..3b0bce88 --- /dev/null +++ b/Algorithms/1137. N-th Tribonacci Number/1137. N-th Tribonacci Number_test.go @@ -0,0 +1,62 @@ +package leetcode + +import ( + "fmt" + "testing" +) + +type question1137 struct { + para1137 + ans1137 +} + +// para 是参数 +// one 代表第一个参数 +type para1137 struct { + one int +} + +// ans 是答案 +// one 代表第一个答案 +type ans1137 struct { + one int +} + +func Test_Problem1137(t *testing.T) { + + qs := []question1137{ + + question1137{ + para1137{1}, + ans1137{1}, + }, + + question1137{ + para1137{2}, + ans1137{1}, + }, + + question1137{ + para1137{3}, + ans1137{2}, + }, + + question1137{ + para1137{4}, + ans1137{4}, + }, + + question1137{ + para1137{25}, + ans1137{1389537}, + }, + } + + fmt.Printf("------------------------Leetcode Problem 1137------------------------\n") + + for _, q := range qs { + _, p := q.ans1137, q.para1137 + fmt.Printf("【input】:%v 【output】:%v\n", p, tribonacci(p.one)) + } + fmt.Printf("\n\n\n") +} diff --git a/Algorithms/1137. N-th Tribonacci Number/README.md b/Algorithms/1137. N-th Tribonacci Number/README.md new file mode 100755 index 00000000..03cfa081 --- /dev/null +++ b/Algorithms/1137. N-th Tribonacci Number/README.md @@ -0,0 +1,50 @@ +# [1137. N-th Tribonacci Number](https://leetcode.com/problems/n-th-tribonacci-number/) + + +## 题目: + +The Tribonacci sequence Tn is defined as follows: + +T0 = 0, T1 = 1, T2 = 1, and Tn+3 = Tn + Tn+1 + Tn+2 for n >= 0. + +Given `n`, return the value of Tn. + +**Example 1:** + + Input: n = 4 + Output: 4 + Explanation: + T_3 = 0 + 1 + 1 = 2 + T_4 = 1 + 1 + 2 = 4 + +**Example 2:** + + Input: n = 25 + Output: 1389537 + +**Constraints:** + +- `0 <= n <= 37` +- The answer is guaranteed to fit within a 32-bit integer, ie. `answer <= 2^31 - 1`. + + +## 题目大意 + + +泰波那契序列 Tn 定义如下:  + +T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2 + +给你整数 n,请返回第 n 个泰波那契数 Tn 的值。 + +提示: + +- 0 <= n <= 37 +- 答案保证是一个 32 位整数,即 answer <= 2^31 - 1。 + + + +## 解题思路 + +- 求泰波那契数列中的第 n 个数。 +- 简单题,按照题意定义计算即可。