Skip to content

Commit 055195c

Browse files
committed
feat: add solutions to lc problem: No.1313. Decompress Run-Length
Encoded List
1 parent e3e6d7c commit 055195c

File tree

6 files changed

+144
-2
lines changed

6 files changed

+144
-2
lines changed

solution/1300-1399/1313.Decompress Run-Length Encoded List/README.md

+51-1
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,65 @@
5252
<!-- 这里可写当前语言的特殊实现逻辑 -->
5353

5454
```python
55-
55+
class Solution:
56+
def decompressRLElist(self, nums: List[int]) -> List[int]:
57+
res = []
58+
for i in range(1, len(nums), 2):
59+
res.extend([nums[i]] * nums[i - 1])
60+
return res
5661
```
5762

5863
### **Java**
5964

6065
<!-- 这里可写当前语言的特殊实现逻辑 -->
6166

6267
```java
68+
class Solution {
69+
public int[] decompressRLElist(int[] nums) {
70+
int n = 0;
71+
for (int i = 0; i < nums.length; i += 2) {
72+
n += nums[i];
73+
}
74+
int[] res = new int[n];
75+
for (int i = 1, k = 0; i < nums.length; i += 2) {
76+
for (int j = 0; j < nums[i - 1]; ++j) {
77+
res[k++] = nums[i];
78+
}
79+
}
80+
return res;
81+
}
82+
}
83+
```
84+
85+
### **C++**
86+
87+
```cpp
88+
class Solution {
89+
public:
90+
vector<int> decompressRLElist(vector<int>& nums) {
91+
vector<int> res;
92+
for (int i = 1; i < nums.size(); i += 2) {
93+
for (int j = 0; j < nums[i - 1]; ++j) {
94+
res.push_back(nums[i]);
95+
}
96+
}
97+
return res;
98+
}
99+
};
100+
```
63101
102+
### **Go**
103+
104+
```go
105+
func decompressRLElist(nums []int) []int {
106+
var res []int
107+
for i := 1; i < len(nums); i += 2 {
108+
for j := 0; j < nums[i-1]; j++ {
109+
res = append(res, nums[i])
110+
}
111+
}
112+
return res
113+
}
64114
```
65115

66116
### **...**

solution/1300-1399/1313.Decompress Run-Length Encoded List/README_EN.md

+51-1
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,63 @@ At the end the concatenation [2] + [4,4,4] is [2,4,4,4].
4545
### **Python3**
4646

4747
```python
48-
48+
class Solution:
49+
def decompressRLElist(self, nums: List[int]) -> List[int]:
50+
res = []
51+
for i in range(1, len(nums), 2):
52+
res.extend([nums[i]] * nums[i - 1])
53+
return res
4954
```
5055

5156
### **Java**
5257

5358
```java
59+
class Solution {
60+
public int[] decompressRLElist(int[] nums) {
61+
int n = 0;
62+
for (int i = 0; i < nums.length; i += 2) {
63+
n += nums[i];
64+
}
65+
int[] res = new int[n];
66+
for (int i = 1, k = 0; i < nums.length; i += 2) {
67+
for (int j = 0; j < nums[i - 1]; ++j) {
68+
res[k++] = nums[i];
69+
}
70+
}
71+
return res;
72+
}
73+
}
74+
```
75+
76+
### **C++**
77+
78+
```cpp
79+
class Solution {
80+
public:
81+
vector<int> decompressRLElist(vector<int>& nums) {
82+
vector<int> res;
83+
for (int i = 1; i < nums.size(); i += 2) {
84+
for (int j = 0; j < nums[i - 1]; ++j) {
85+
res.push_back(nums[i]);
86+
}
87+
}
88+
return res;
89+
}
90+
};
91+
```
5492
93+
### **Go**
94+
95+
```go
96+
func decompressRLElist(nums []int) []int {
97+
var res []int
98+
for i := 1; i < len(nums); i += 2 {
99+
for j := 0; j < nums[i-1]; j++ {
100+
res = append(res, nums[i])
101+
}
102+
}
103+
return res
104+
}
55105
```
56106

57107
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Solution {
2+
public:
3+
vector<int> decompressRLElist(vector<int>& nums) {
4+
vector<int> res;
5+
for (int i = 1; i < nums.size(); i += 2) {
6+
for (int j = 0; j < nums[i - 1]; ++j) {
7+
res.push_back(nums[i]);
8+
}
9+
}
10+
return res;
11+
}
12+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
func decompressRLElist(nums []int) []int {
2+
var res []int
3+
for i := 1; i < len(nums); i += 2 {
4+
for j := 0; j < nums[i-1]; j++ {
5+
res = append(res, nums[i])
6+
}
7+
}
8+
return res
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class Solution {
2+
public int[] decompressRLElist(int[] nums) {
3+
int n = 0;
4+
for (int i = 0; i < nums.length; i += 2) {
5+
n += nums[i];
6+
}
7+
int[] res = new int[n];
8+
for (int i = 1, k = 0; i < nums.length; i += 2) {
9+
for (int j = 0; j < nums[i - 1]; ++j) {
10+
res[k++] = nums[i];
11+
}
12+
}
13+
return res;
14+
}
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class Solution:
2+
def decompressRLElist(self, nums: List[int]) -> List[int]:
3+
res = []
4+
for i in range(1, len(nums), 2):
5+
res.extend([nums[i]] * nums[i - 1])
6+
return res

0 commit comments

Comments
 (0)