Skip to content

Commit ff32fdd

Browse files
authored
feat: add solutions to lc problem: No.3379 (#3847)
1 parent 2ee3b36 commit ff32fdd

File tree

7 files changed

+146
-6
lines changed

7 files changed

+146
-6
lines changed

solution/3300-3399/3379.Transformed Array/README.md

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,25 +84,72 @@ edit_url: https://github.com/doocs/leetcode/edit/main/solution/3300-3399/3379.Tr
8484
#### Python3
8585

8686
```python
87-
87+
class Solution:
88+
def constructTransformedArray(self, nums: List[int]) -> List[int]:
89+
ans = []
90+
n = len(nums)
91+
for i, x in enumerate(nums):
92+
ans.append(nums[(i + x + n) % n] if x else 0)
93+
return ans
8894
```
8995

9096
#### Java
9197

9298
```java
93-
99+
class Solution {
100+
public int[] constructTransformedArray(int[] nums) {
101+
int n = nums.length;
102+
int[] ans = new int[n];
103+
for (int i = 0; i < n; ++i) {
104+
ans[i] = nums[i] != 0 ? nums[(i + nums[i] % n + n) % n] : 0;
105+
}
106+
return ans;
107+
}
108+
}
94109
```
95110

96111
#### C++
97112

98113
```cpp
99-
114+
class Solution {
115+
public:
116+
vector<int> constructTransformedArray(vector<int>& nums) {
117+
int n = nums.size();
118+
vector<int> ans(n);
119+
for (int i = 0; i < n; ++i) {
120+
ans[i] = nums[i] ? nums[(i + nums[i] % n + n) % n] : 0;
121+
}
122+
return ans;
123+
}
124+
};
100125
```
101126
102127
#### Go
103128
104129
```go
130+
func constructTransformedArray(nums []int) []int {
131+
n := len(nums)
132+
ans := make([]int, n)
133+
for i, x := range nums {
134+
if x != 0 {
135+
ans[i] = nums[(i+x%n+n)%n]
136+
}
137+
}
138+
return ans
139+
}
140+
```
105141

142+
#### TypeScript
143+
144+
```ts
145+
function constructTransformedArray(nums: number[]): number[] {
146+
const n = nums.length;
147+
const ans: number[] = [];
148+
for (let i = 0; i < n; ++i) {
149+
ans.push(nums[i] ? nums[(i + (nums[i] % n) + n) % n] : 0);
150+
}
151+
return ans;
152+
}
106153
```
107154

108155
<!-- tabs:end -->

solution/3300-3399/3379.Transformed Array/README_EN.md

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,25 +82,72 @@ For each index <code>i</code> (where <code>0 &lt;= i &lt; nums.length</code>), p
8282
#### Python3
8383

8484
```python
85-
85+
class Solution:
86+
def constructTransformedArray(self, nums: List[int]) -> List[int]:
87+
ans = []
88+
n = len(nums)
89+
for i, x in enumerate(nums):
90+
ans.append(nums[(i + x + n) % n] if x else 0)
91+
return ans
8692
```
8793

8894
#### Java
8995

9096
```java
91-
97+
class Solution {
98+
public int[] constructTransformedArray(int[] nums) {
99+
int n = nums.length;
100+
int[] ans = new int[n];
101+
for (int i = 0; i < n; ++i) {
102+
ans[i] = nums[i] != 0 ? nums[(i + nums[i] % n + n) % n] : 0;
103+
}
104+
return ans;
105+
}
106+
}
92107
```
93108

94109
#### C++
95110

96111
```cpp
97-
112+
class Solution {
113+
public:
114+
vector<int> constructTransformedArray(vector<int>& nums) {
115+
int n = nums.size();
116+
vector<int> ans(n);
117+
for (int i = 0; i < n; ++i) {
118+
ans[i] = nums[i] ? nums[(i + nums[i] % n + n) % n] : 0;
119+
}
120+
return ans;
121+
}
122+
};
98123
```
99124
100125
#### Go
101126
102127
```go
128+
func constructTransformedArray(nums []int) []int {
129+
n := len(nums)
130+
ans := make([]int, n)
131+
for i, x := range nums {
132+
if x != 0 {
133+
ans[i] = nums[(i+x%n+n)%n]
134+
}
135+
}
136+
return ans
137+
}
138+
```
103139

140+
#### TypeScript
141+
142+
```ts
143+
function constructTransformedArray(nums: number[]): number[] {
144+
const n = nums.length;
145+
const ans: number[] = [];
146+
for (let i = 0; i < n; ++i) {
147+
ans.push(nums[i] ? nums[(i + (nums[i] % n) + n) % n] : 0);
148+
}
149+
return ans;
150+
}
104151
```
105152

106153
<!-- tabs:end -->
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution {
2+
public:
3+
vector<int> constructTransformedArray(vector<int>& nums) {
4+
int n = nums.size();
5+
vector<int> ans(n);
6+
for (int i = 0; i < n; ++i) {
7+
ans[i] = nums[i] ? nums[(i + nums[i] % n + n) % n] : 0;
8+
}
9+
return ans;
10+
}
11+
};
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
func constructTransformedArray(nums []int) []int {
2+
n := len(nums)
3+
ans := make([]int, n)
4+
for i, x := range nums {
5+
if x != 0 {
6+
ans[i] = nums[(i+x%n+n)%n]
7+
}
8+
}
9+
return ans
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution {
2+
public int[] constructTransformedArray(int[] nums) {
3+
int n = nums.length;
4+
int[] ans = new int[n];
5+
for (int i = 0; i < n; ++i) {
6+
ans[i] = nums[i] != 0 ? nums[(i + nums[i] % n + n) % n] : 0;
7+
}
8+
return ans;
9+
}
10+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class Solution:
2+
def constructTransformedArray(self, nums: List[int]) -> List[int]:
3+
ans = []
4+
n = len(nums)
5+
for i, x in enumerate(nums):
6+
ans.append(nums[(i + x + n) % n] if x else 0)
7+
return ans
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
function constructTransformedArray(nums: number[]): number[] {
2+
const n = nums.length;
3+
const ans: number[] = [];
4+
for (let i = 0; i < n; ++i) {
5+
ans.push(nums[i] ? nums[(i + (nums[i] % n) + n) % n] : 0);
6+
}
7+
return ans;
8+
}

0 commit comments

Comments
 (0)