|
52 | 52 | <!-- 这里可写当前语言的特殊实现逻辑 -->
|
53 | 53 |
|
54 | 54 | ```python
|
55 |
| - |
| 55 | +class Solution: |
| 56 | + def fraction(self, cont: List[int]) -> List[int]: |
| 57 | + def dfs(cont): |
| 58 | + if len(cont) == 1: |
| 59 | + return [cont[0], 1] |
| 60 | + a, b = dfs(cont[1:]) |
| 61 | + return [a * cont[0] + b, a] |
| 62 | + |
| 63 | + return dfs(cont) |
56 | 64 | ```
|
57 | 65 |
|
58 | 66 | ### **Java**
|
59 | 67 |
|
60 | 68 | <!-- 这里可写当前语言的特殊实现逻辑 -->
|
61 | 69 |
|
62 | 70 | ```java
|
| 71 | +class Solution { |
| 72 | + public int[] fraction(int[] cont) { |
| 73 | + return dfs(cont, 0); |
| 74 | + } |
| 75 | + |
| 76 | + private int[] dfs(int[] cont, int i) { |
| 77 | + if (i == cont.length - 1) { |
| 78 | + return new int[]{cont[i], 1}; |
| 79 | + } |
| 80 | + int[] ans = dfs(cont, i + 1); |
| 81 | + int a = ans[0], b = ans[1]; |
| 82 | + return new int[]{a * cont[i] + b, a}; |
| 83 | + } |
| 84 | +} |
| 85 | +``` |
| 86 | + |
| 87 | +### **C++** |
| 88 | + |
| 89 | +```cpp |
| 90 | +class Solution { |
| 91 | +public: |
| 92 | + vector<int> fraction(vector<int>& cont) { |
| 93 | + return dfs(cont, 0); |
| 94 | + } |
| 95 | + |
| 96 | + vector<int> dfs(vector<int>& cont, int i) { |
| 97 | + if (i == cont.size() - 1) return {cont[i], 1}; |
| 98 | + vector<int> ans = dfs(cont, i + 1); |
| 99 | + int a = ans[0], b = ans[1]; |
| 100 | + return {a * cont[i] + b, a}; |
| 101 | + } |
| 102 | +}; |
| 103 | +``` |
| 104 | + |
| 105 | +### **Go** |
| 106 | + |
| 107 | +```go |
| 108 | +func fraction(cont []int) []int { |
| 109 | + var dfs func(i int) []int |
| 110 | + dfs = func(i int) []int { |
| 111 | + if i == len(cont)-1 { |
| 112 | + return []int{cont[i], 1} |
| 113 | + } |
| 114 | + ans := dfs(i + 1) |
| 115 | + a, b := ans[0], ans[1] |
| 116 | + return []int{a*cont[i] + b, a} |
| 117 | + } |
| 118 | + return dfs(0) |
| 119 | +} |
| 120 | +``` |
63 | 121 |
|
| 122 | +### **JavaScript** |
| 123 | + |
| 124 | +```js |
| 125 | +/** |
| 126 | + * @param {number[]} cont |
| 127 | + * @return {number[]} |
| 128 | + */ |
| 129 | +var fraction = function (cont) { |
| 130 | + function dfs(i) { |
| 131 | + if (i == cont.length - 1) { |
| 132 | + return [cont[i], 1]; |
| 133 | + } |
| 134 | + const [a, b] = dfs(i + 1); |
| 135 | + return [a * cont[i] + b, a]; |
| 136 | + } |
| 137 | + return dfs(0); |
| 138 | +}; |
64 | 139 | ```
|
65 | 140 |
|
66 | 141 | ### **...**
|
|
0 commit comments